We are building the open source chat layer for modern apps.

Open source chat infrastructure

Your app needs chat. Ship it in 60s.

Get in 60s what takes sprints to build: chat infrastructure that lives inside your app.

CLI
Prompt
MCP
Skills
npm install chatpack

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.

0-headache Install
Built to scale
Never pay per-message
Plugin-based
Customize everything

Works with:

Quick Start

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.

terminal
npm
pnpm
bun
$
npm install chatpack
$
npx chatpack init
Schema created in /db/chatpack
Environment keys written to .env
Chat component scaffolded
Add CHATPACK_SECRET to your deployment

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.

What you get

Everything messaging needs to feel real.

Available now

1:1 Messaging

Full duplex real-time messaging between any two users. Persistent history, media support, and delivery status out of the box.

Available now

Typing Indicators

Live presence signals over WebSocket. Shows when the other party is composing, paused, or gone idle. Zero polling.

Available now

Read Receipts

Delivered and seen states tracked per message, per user. Configurable visibility if your product needs privacy controls.

Available now

Read Receipts

Delivered and seen states tracked per message, per user. Configurable visibility if your product needs privacy controls.

Available now

Read Receipts

Delivered and seen states tracked per message, per user. Configurable visibility if your product needs privacy....

Coming next

Notifications

Push and in-app notification hooks. Bring your own provider or use the built-in webhook bridge.

Coming next

Notifications

Push and in-app notification hooks. Bring your own provider or use the built-in webhook bridge.

Available now

Read Receipts

Delivered and seen states tracked per message, per user. Configurable visibility if your product needs privacy....

Quick start

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

CHATPACK
5min
HOSTED CHAT SDK
2 days
BUILD IT YOURSELF
6 weeks

# placeholder timings, to be updated with real integration data

Roadmap

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

Built for security

ChatPack is the fastest way to add chat to your app.

CHATPACK
5min
HOSTED CHAT SDK
2 days
576x slower
BUILD IT YOURSELF
6 weeks
~4000x slower

Time from empty project to working 1:1 chat with typing indicators and read receipts.

Replace your chat vendor with

importVuefrom"vue";

and own your stack forever.

One command

Add chat to any existing app.

Drop ChatPack into a project you're already building. Works alongside your current stack, no rewrites needed.

npm install chatpack

Simple API

Chat in ten lines.

Drop ChatPack into a project you're already building. Works alongside your current stack, no rewrites needed.

TYPESCRIPT
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)
})

Set up chat in your Next.js project using ChatPack.

×

Set up chat in my Next.js project using ChatPack (chatpack npm package). 1. Install chatpack. If I already have a database configured in this project, use that — don't set up a new one. 2. Create lib/chatpack.ts — call ChatPack() with: - My existing database connection (or a new Postgres setup if none exists) - CHATPACK_SECRET from .env 3. Add the ChatPack provider to my root layout. 4. Create a chat page or component using the useChat hook: - List conversations in a sidebar - Show messages in the main area - Include a message input with send button - Typing indicators and read receipts enabled by default 5. Add CHATPACK_SECRET to my .env if it doesn't exist (generate a 32+ char secret). 6. Run the dev server and verify a working 1:1 chat between two test users.