Tech Stack
Last updated: 2026-02-21
Framework
- Next.js 16 — App Router, server components, static/dynamic rendering
- React 19 — Latest React with concurrent features
UI
- shadcn/ui — Radix Maia theme (
style: "radix-maia"incomponents.json) - Tailwind CSS v4 — Utility-first styling via
@tailwindcss/postcss - Radix UI — Accessible primitives (Select, Tooltip, Slot, etc.)
- Lucide React — Icon library
- class-variance-authority (cva) — Variant styling for components
- tailwind-merge — Merge Tailwind classes without conflicts
Data
- Neon — Serverless Postgres (
@neondatabase/serverless) - Drizzle ORM — Type-safe queries and migrations
- pgvector — Vector embeddings for RAG (Ask page)
AI
- Vercel AI SDK —
aiand@ai-sdk/reactfor streaming chat - OpenAI — Embeddings and chat completions (via API key or Vercel AI Gateway)
Key Libraries
| Category | Package | Purpose |
|---|---|---|
| Markdown | @mdx-js/mdx, react-markdown, remark-gfm, rehype-highlight, rehype-slug | MDX and Markdown rendering |
| Search | fuse.js | Client-side fuzzy search |
| Command palette | cmdk | Command menu (⌘K) |
| Carousel | embla-carousel-react | Image/content carousels |
| Forms & validation | zod | Schema validation |
| Analytics | @vercel/analytics, @vercel/speed-insights | Vercel analytics and Core Web Vitals |
| Payments | stripe | Checkout and webhooks |
| Theming | next-themes | Dark/light mode |
| Toasts | sonner | Toast notifications |