Home - ChatPack
Docs<br>Community<br>Roadmap<br>Add to
EDITORS & AGENTS
Claude Code
Cursor
Codex
BUILDERS
Lovable
Shipper.now
Base 44
Replit
v0
Start building
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
MCPSoon
SkillsSoon
npm install @chatpack/core
Add 1:1 chat to your app using ChatPack.
Install @chatpack/core. Create lib/chatpack.ts with chatpack(), configure your database URL and secret, add the chat component to your page, and start sending messages.
View full prompt
Copy prompt
0-headache Install
Built to scale
Never pay per-message
Plugin-based
Customize everything
Get started<br>Read the docs
Works with:
Quick Start
Up and running in one command.
About ~10 lines of code. 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/core @chatpack/adapter-drizzle
import { chatpack } from "@chatpack/core"
import { memoryAdapter } from "@chatpack/adapter-memory"
const chat = chatpack({ storage: memoryAdapter(), ... })
await chat.api.sendMessage({ body: "Hey, it works!" })
01
Install the package
Add @chatpack/core and a storage adapter. Works with npm, pnpm, and bun.
02
Connect your stack
Point Chatpack at your database and your auth. You own your users and data.
03
Ship
Wire it up in a few lines and go live. Messaging, real-time, and the details handled for you.
What you get
Everything messaging needs to feel real.
Available Now
Messaging
Conversations with persistent history, editing, and deletion wired straight to your database.
Available Now
Real-Time
Messages and live signals arrive instantly over one stream, with automatic reconnect and nothing lost.
Available Now
Presence & State
Who's around, what's delivered, what's been seen — durable state you own and control.
Built In
Your Stack, Your Rules
Your database, your auth, your users. Chatpack never owns accounts or hosts your data.
Open Source
Grows With You
A small core you extend with plugins; new capabilities land without changing how you build.
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.
Minutes
to working chat
$0
in usage fees, ever
MIT
licensed, yours to keep
CHATPACK
Minutes
HOSTED CHAT SDK
Days
BUILD IT YOURSELF
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 SSE
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
5 Minutes
HOSTED CHAT SDK
2 days
576x slower
HOSTED CHAT SDK
2 days
+ vendor lock-in, per-seat pricing
576x slower
BUILD IT YOURSELF
6 Weeks
Time from empty project to working 1:1 chat.
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/core
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/core";<br>import { memoryAdapter } from "@chatpack/adapter-memory";<br>const chat = chatpack({<br>storage: memoryAdapter(),<br>auth: async (req) => getSessionUser(req),<br>});<br>const { id } = await chat.api.getOrCreateConversation({<br>userId: "user_alice",<br>otherUserId: "user_bob",<br>});<br>await chat.api.sendMessage({<br>userId: "user_alice",<br>conversationId: id,<br>body: "Hey, it works!",<br>});
Add 1:1 chat to your app using ChatPack.
Set up chat in my Next.js project using ChatPack (@chatpack/core). 1. Install @chatpack/core. 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 -...