← all repositories
vercel/chatbot

Vercel's reference kitchen-sink for AI chat UIs

A production-grade Next.js template that wires together the AI SDK, multi-model routing, auth, and persistence so you don't have to.

20.4k stars TypeScript Chat AssistantsApp Builders
chatbot
Velocity · 7d
+18
★ / day
Trend
steady
star history

What it does

This is Vercel’s official open-source chatbot template: a full-stack Next.js app with React Server Components, streaming LLM responses, user authentication, chat history in Postgres, and file storage. It is essentially the company’s reference implementation for what a “real” AI SDK app looks like.

The interesting bit

The template routes multiple model providers through Vercel AI Gateway with per-model configuration in a single TypeScript file. That means you can swap between OpenAI, Anthropic, DeepSeek, Mistral, and others without touching the UI code. For Vercel deploys, AI Gateway auth is automatic via OIDC; elsewhere, you bring your own API key.

Key highlights

  • Built on Next.js App Router with Server Actions and streaming
  • AI SDK handles text generation, structured output, and tool calls
  • shadcn/ui + Tailwind for styling, Radix primitives for accessibility
  • Neon Serverless Postgres for persistence, Vercel Blob for files
  • Auth.js for authentication
  • One-click deploy to Vercel, though local dev requires CLI linking and env pulls

Caveats

  • Running locally is more involved than npm install: you need the Vercel CLI, linked accounts, and pulled environment variables
  • The README’s “advanced routing for seamless navigation” is vague on what exactly is advanced
  • Non-Vercel deployments require manual AI Gateway API key management

Verdict

Grab this if you want a credible starting point for a production chatbot and prefer opinionated wiring over DIY plumbing. Skip it if you’re not on the Vercel ecosystem or if you need a lightweight, framework-agnostic backend.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.