We are building the open source chat layer for modern apps.
Your app needs chat. Ship it in 60s.
Get in 60s what takes sprints to build: chat infrastructure that lives inside your app.
Set up chat in your Next.js project using ChatPack.
Install chatpack. Create lib/chatpack.ts with ChatPack(), configure your database URL and secret, add the chat component to your page, and start sending messages.
Works with:










Up and running in two commands.
No account required, no hosted service to sign up for. Your database, your infrastructure, your users. Stays free forever.
01
Install the package
Adds ChatPack to your project. Works with npm, pnpm, and bun.
02
Run the scaffolder
Generates your schema, environment keys, and a working chat UI in your codebase.
03
Ship
One-to-one messaging with typing indicators and read receipts, ready on day one.
Everything messaging needs to feel real.
1:1 Messaging
Full duplex real-time messaging between any two users. Persistent history, media support, and delivery status out of the box.
Typing Indicators
Live presence signals over WebSocket. Shows when the other party is composing, paused, or gone idle. Zero polling.
Read Receipts
Delivered and seen states tracked per message, per user. Configurable visibility if your product needs privacy controls.
Read Receipts
Delivered and seen states tracked per message, per user. Configurable visibility if your product needs privacy controls.
Read Receipts
Delivered and seen states tracked per message, per user. Configurable visibility if your product needs privacy....
Notifications
Push and in-app notification hooks. Bring your own provider or use the built-in webhook bridge.
Notifications
Push and in-app notification hooks. Bring your own provider or use the built-in webhook bridge.
Read Receipts
Delivered and seen states tracked per message, per user. Configurable visibility if your product needs privacy....
Ship chat before your standup ends.
Building 1:1 messaging from scratch takes weeks. Hosted SDKs lock you into usage-based billing. ChatPack gives you the full feature set in an afternoon, self-hosted, forever free.
5min
to working chat
$0
in usage fees, ever
MIT
licensed, yours to keep
# placeholder timings, to be updated with real integration data
Built in the open, moving fast.
ChatPack is actively being built. Here is where things stand and where they are going.
NOW
1:1 real-time messaging
Typing indicators over WebSocket
Read and delivered receipts
Persistent message history
React and Next.js components
Self-hosted, Postgres-backed
NEXT
Push and in-app notifications
Group chats (WhatsApp-style)
File and media attachments
Message reactions
Vue and Svelte components
Expo / React Native support
LATER
Discord-style channel rooms
One-to-many broadcast channels
End-to-end encryption
Moderation tooling
Analytics and delivery insights
Managed hosted option
ChatPack is the fastest way to add chat to your app.
Time from empty project to working 1:1 chat with typing indicators and read receipts.
Replace your chat vendor with
and own your stack forever.
Chat in ten lines.
Drop ChatPack into a project you're already building. Works alongside your current stack, no rewrites needed.
import { ChatPack } from 'chatpack' // initialise once at app root const chat = new ChatPack({ databaseUrl: process.env.DATABASE_URL, secret: process.env.CHATPACK_SECRET, }) // send a message await chat.send({ from: 'user_alice', to: 'user_bob', text: 'Hey, it works.', }) // subscribe to incoming messages chat.on('message', (msg) => { console.log(msg.text, msg.from) })




