Features

Every feature.
One script tag.

Reactions, replies, mentions, polls, AI moderation, themes, webhooks. Real-time chat that feels native — not bolted on.

For your visitors

Conversation, not just messages

Every modern chat affordance you'd expect from Discord, Slack, or Twitch — built into the same tag you paste once.

👍 ❤️ 😂 🔥

Emoji reactions + tooltips

A curated 18-emoji palette tuned from real Discord/Twitch usage. One tap, live broadcast, badge counts on every message. Hover any reaction pill to see who reacted — Slack-style.

↩️

Threaded replies

Click reply to attach a snippet of the parent. Visitors keep the context; the room doesn't fragment into sub-threads.

@

@mentions + notifications

Type @username and they get a yellow-ring highlight on the bubble plus a bell with unread count even if they're on another tab.

❝ ❞

Quote & reply

One click to drop the parent's text into your input as a markdown blockquote. Useful when answering point-by-point.

✏️

Edit & delete your own

Five-minute window to fix typos or remove a message. The bubble shows an "(edited)" tag so the conversation stays honest.

**bold**

Lightweight markdown

Bold, italic, inline code, and > quotes. Just enough formatting to be expressive without becoming a rich-text mess.

🖼️

Image upload

Drag, paste, or click to upload. We compress, strip EXIF (privacy), resize, and reject decompression bombs before storage.

📊

Inline polls & Q&A

Admins create up to 6-option polls right in the room. Live tallies, one-vote-per-visitor, switchable until you close it.

Typing indicator

"Alice is typing…" with multi-user roll-up. Throttled server-side so a full room can't generate noise.

🪟

Cross-tab session

Sign in on one tab, you're signed in everywhere. Sign out, every tab follows. No flicker, no orphaned sessions.

📱

Full-bleed mobile

Below 480px the chat takes the full viewport, respects safe-area inset, uses 16px input (no iOS zoom), 40px tap targets.

🌐

Multi-language UI

Pick the locale per project; every UI string flows through Django/JS i18n. English & Spanish bundled; add yours via po-files.

Live & community

Twitch-style chat — without Twitch

Slash commands, custom emotes (with a sub-emote variant), a "LIVE NOW" banner that links to your stream, a rewind for admins, and viewer tips through Stripe. The pieces a streaming community expects, drop-in for any site.

/

Slash commands

Familiar to anyone who's used Twitch or Discord: /announce, /poll, /clear, /timeout @user, /help. Admin-gated server-side — no client trickery lets a visitor run them.

🎨

Custom emotes

Upload your community's emotes, give each a :alias:, and any visitor typing the alias gets it inline. Mark individual emotes members-only so signed-in viewers see them and anonymous visitors see the raw text — a soft sub-emote pattern without forcing a paywall.

Chat replay

Rewind through past chat with a scrubber + activity heatmap. Full-text search inside the window so you can grep "refund" or a username and only see those rows. Last 24h on Starter, 30 days on Basic, unlimited on Pro.

🔴

"LIVE NOW" banner

Paste a YouTube, Twitch, or Kick URL into the project and the widget header surfaces a clickable "LIVE NOW" badge. Provider icon auto-detected. Removes the gap between "chat is here" and "stream is there".

📣

Announcements

Run /announce and your message lands as a highlighted callout — bordered, megaphone-glyphed, broadcast to everyone watching. Survives reloads unlike a one-shot system line.

⏲️

User timeout

/timeout @user 10 temporarily mutes someone for ten minutes — then they're back automatically. Lighter than a ban, no DB row, no celery sweep; memcache TTL handles the expiry.

💵

Viewer tips Basic

Connect a Stripe account in two minutes and the chat shows a "Tip" button in the header. Visitors pick an amount, pay on Stripe's hosted page, and the tip lands as a highlighted green callout in chat. You see totals + recent senders in your panel. We take 5% (25¢ floor); the rest goes to your connected account.

Moderation

Keep the room civil — without sitting on it 24/7

Layered tools so an active community doesn't turn into a mod sink.

AI moderation Pro

OpenAI's omni-moderation classifies harassment, hate, sexual-minors, self-harm, and violence-graphic. Flagged messages auto-redact to ****.

Banned words

Comma- or newline-separated list, case-insensitive. The Moderation panel has a live tester so you can see exactly what visitors would see after redaction.

IP & user bans

One-click ban from any message bubble. Supports CIDR ranges (192.0.2.0/24) for whole networks.

Slow mode

Set a per-user cooldown (e.g. 30 s between messages). Stops a single visitor from drowning the room.

Members-only mode

Hide anonymous login. Only signed-in visitors can post. Great for private launches and paid communities.

Pinned messages

Clip a rule, an event, or an announcement to the top of the room. One pin per room, swappable in two clicks.

Sub-admins Basic+

Give your team their own logins, scoped to a single room or the whole project. Non-destructive permissions; full audit of who edits what.

Delete any / clean room

Soft-delete any message in one click. Optional auto-clean: rooms older than N days self-prune so history doesn't sprawl forever.

Room-level rate limits

Server-side caps on messages, reactions, polls, and uploads — per IP per minute. Bots get throttled before mods even see them.

Mute users (visitor self-curate)

Any visitor can hide another visitor's messages — persistent across reloads, no admin needed. Lets the room police itself before mods get involved. Discovered organically by every active community we ship to.

Brand & UX

Looks like part of your site

Out-of-the-box default that's already nice. Eight presets when you want a quick swap. Theme editor + custom CSS on Basic for total control.

Theme presets

Theme editor

Eight named presets (Midnight, Ocean, Forest, Rose, Sunset, Lavender, Slate, Indigo) plus inline color pickers for the seven theme slots — header, bubbles, borders, text, background.

.chat-body {
  background: #0a0a0a;
  border-radius: 12px;
}

Custom CSS Basic

Full control over every pixel. We sandbox the CSS into the embed iframe and strip </style to prevent injection.

Position & size

Drop the chat anywhere — bottom-right, bottom-left, side-rail. Set initial open/closed state per page.

Custom logo + texts

Upload your logo (Pillow-validated, EXIF-stripped, compressed). Set the chat title, login button text, "type a message" placeholder.

Chat wallpaper Basic

A subtle background behind the messages. Six built-in patterns (paper, geometric, doodle, bubbles, grid, tropical) or upload your own. Configurable overlay opacity keeps text crisp on top.

Engagement

Turn lurkers into a community

🧠

AI chat assistant Pro

A second voice in the room. Five personas — community manager, e-commerce, topic expert, DJ banter, or custom prompt. Daily token cap so the bill stays predictable. Pairs with welcome bot to cover cold-start dead air.

🤖

Welcome bot Basic+

Scripted greeting after N seconds, optional follow-up nudge. Renders as if from the project owner — never persisted as a fake comment.

📈

Analytics dashboard

Daily messages chart, top rooms, top reactions, week-over-week deltas, hour-of-day heatmap. Updates with every page load.

📧

Email digests Basic+

Bundle new activity into a periodic summary email — 10-minute minimum cadence. Never miss a conversation while you're away.

🔔

Notification bell

Unread count badge in the toolbar. Click to see who mentioned or replied to you and jump straight to that message.

🪧

Multi-room per page URL

By default everyone shares one room. Flip a toggle and each URL gets its own thread — perfect for product pages, articles, per-event chats.

🟢

Live presence

"12 online" pill in the toolbar plus a tappable list. Anonymous visitors are aggregated as a count to keep noise down.

Integrations

Wire it into the stack you already have

JWT auth Pro

Pre-authenticate visitors with your own login. Sign an HS256 token server-side and the chat picks up identity, name, and avatar automatically.

Webhooks

HMAC-signed POSTs on message_posted, mention_received, message_pinned. Pipe into Slack, Discord, Zapier, or your CRM. Webhook docs →

Shopify App

One-click install from the Shopify App Store. Theme follows your storefront. Billed through Shopify, so admins don't need a separate Stripe account.

WordPress plugin

Download a one-file plugin from your admin panel. Activate, paste your project ID, done. Works with any theme.

REST API

/api/login/, /api/message/, /api/thread/. JWT-authenticated, rate-limited, public-API stable.

Runtime

Built to take a beating

Real-time chat is rough on infrastructure. We've made this part the boring part.

99.99%
Uptime SLA

Multi-region failover, redis-backed pub/sub, gevent socket workers.

<80ms
Median latency

Worst-case 200ms cross-continent. Optimistic local rendering means your own messages feel instant.

CDN
Edge-served widget

The 50KB chat client streams from a global CDN. The script tag is async so first paint is unaffected.

SOC 2
In progress

EXIF scrubbing on uploads. HMAC-signed webhooks. Hashed sub-admin passwords. CSP frame-ancestors guard.

Ready to put a real chat on your site?

15-day trial. No credit card. Cancel anytime.

Try the chat — it's right here 👇