
Live Demo
See what you’re building.
Get Started
Clone, configure, deploy. Go from zero to production in minutes.
Why ChatJS?
Every AI chat app needs the same boring stuff: auth, message persistence, streaming, file uploads, model switching. You’ve probably built it before. Maybe twice. ChatJS packages all of that into a single, well-architected codebase. Fork it, customize it, ship it.What’s Included
120+ Models
Claude, GPT, Gemini, Grok, Llama: one API
Auth
GitHub, Google, anonymous. Ready to go.
Attachments
Images, PDFs, docs. Drag and drop.
Resumable Streams
Continue generation after page refresh
Branching
Fork conversations, explore alternatives
Syntax Highlighting
Beautiful code formatting with themes
Sharing
Share conversations with public links
Web Search
Real-time web search integration
Image Generation
AI-powered image creation built-in
MCP
Model Context Protocol support
Projects
Organize chats into workspaces
Code Execution
Run code snippets in sandbox
Stack
- Next.js - App Router, React Server Components
- TypeScript - Full type safety
- AI SDK - The AI Toolkit for TypeScript
- AI Gateway - Unified access to 120+ AI models
- Better Auth - Authentication & authorization
- Drizzle ORM - Type-safe database queries
- PostgreSQL - Primary database
- Redis - Caching & resumable streams
- Vercel Blob - Blob storage
- Shadcn/UI - Beautiful, accessible components
- Tailwind CSS - Styling
- tRPC - End-to-end type-safe APIs
- Zod - Schema validation
- Zustand - State management
- Motion - Animations
- t3-env - Environment variables
- Pino - Structured Logging
- Langfuse - LLM observability & analytics
- Vercel Analytics - Web analytics
- Biome - Code linting and formatting
- Ultracite - Biome preset for humans and AI
- Streamdown - Markdown for AI streaming
- AI Elements - AI-native Components
- AI SDK Tools - Developer tools for AI SDK
