Solutions / QuxChat

A conversations backend, composed

QuxChat is the layer every chat product rebuilds: channels, threads, participants, presence, bridges to SMS, signed webhooks, metering and caps: done as one thin process over four kits. A complete hosted chat backend, at a price only someone who owns the whole stack can offer. Start on a free tier bigger than anyone else’s.

cloud.quxkit.ai
POST cloud.quxkit.ai/v1/conversations
  Authorization: Bearer qc_live_…
  { "subject": "order-42", "participants": ["u_alice", "u_bob"] }

POST /v1/conversations/c_9f8a…/messages
  { "as": "u_alice", "body": "Your order shipped. Tracking inside." }

→ delivered in-app, bridged to SMS where a participant opted in,
  one usage event recorded per message.
0
monthly active users, free
0
kits, one thin process
0
usage event per message
$0
a month at 100,000 monthly active users
Composed from the family

Four kits do the hard parts.

Nothing in QuxChat knows how to fan a message out to participants, bridge it to a carrier, check a password, or price a month. That is the kits’ job. QuxChat knows what a conversation request looks like, who may make it, and what to charge for it.

comm-kit
Conversations, per-participant channels, bridge deliveries, inbound routing and transcripts. The actual chat, headless.
identity-kit
Accounts, sessions and API keys. A key authenticates as a team; a session authenticates a person.
tenant-kit
Teams and membership. Every conversation resolves to a tenant, and isolation follows.
billing-kit
One usage event per message and a monthly active-user rollup: metered exactly, billed flat + overage.
What you get

The whole control plane, not just a socket.

A drop-in conversations API

Channels, threads, participants and messages over REST, with signed webhooks for every event. Point your client at it and keep the rest of your code; the shapes are comm-kit’s own.

Bridges, not just in-app

A message can leave the app: comm-kit’s bridge deliveries carry it to SMS and back through a carrier adapter, with inbound routing and one row per send, carrier only where a carrier is needed.

Two ways in

An API key authenticates as a team, optionally scoped; a dashboard session authenticates a person who names a team. Same handlers, same isolation, whichever way a request arrives.

Consent and suppression, built in

Opt-out and suppression are first-class state in comm-kit, checked before a bridge send goes out, so a conversation that should not reach someone does not.

Metered exactly

One billing-kit usage event per message, idempotent on the message id, plus a monthly active-user rollup. Paid tiers bill a flat fee then a fraction of a cent of overage; Free is a hard cap, never a surprise bill.

Your data, our Postgres

Every conversation lives in a tenant of your own on our Postgres, exportable and yours. No per-seat client SDK licence, no message you cannot get back.

Prefer to run it yourself? QuxChat is the hosted product, but its engine is comm-kit, a library you embed on the database you already run. Bridges, participants, webhooks and consent state, over a transport you choose and a seat licence rather than a hosted bill. QuxChat is what you reach for when you would rather not. Talk to us about comm-kit.

Start with a thousand active users, free.

Stand up a chat backend on QuxCloud in minutes, or embed comm-kit and run it yourself.