Getting Started
Tech Stack
Core technologies, services, and architecture used in the AI Assistant monorepo.
This boilerplate is a Bun-first monorepo for an AI application suite with three Next.js apps (app, admin, web) and shared packages under packages/*.
How to read this page
Use this page as a capabilities map. If you are implementing features, pair it with the Codebase and Features sections.
Core product paths depend on Bun, Next.js apps, PostgreSQL, Redis, MinIO, and the shared packages under packages/*.
Search, deep research, memory graph/vector, and converter flows can be toggled by feature flags and service availability variables.
Core Stack
| Category | Technology |
|---|---|
| Runtime / Package Manager | Bun 1.1.26 |
| Monorepo Build System | Turborepo (turbo) |
| Frontend Framework | Next.js 16+ (App Router) |
| Styling | Tailwind CSS v4 |
| Language | TypeScript |
| Lint / Format | Biome |
| Database | PostgreSQL 17 |
| ORM / Migrations | Drizzle ORM + drizzle-kit |
| Auth | Better Auth (magic links + OTP test flow) |
| AI SDK / Providers | Vercel AI SDK, Groq, OpenAI |
| Queue / Workers | BullMQ + Redis + @ai/jobs worker |
| Object Storage | MinIO (S3-compatible) |
| Payments | Stripe |
| Search | SearXNG (self-hosted) |
| Memory Layer | Qdrant (vector), optional Neo4j (graph) |
| Email Dev Tooling | MailDev |
Application Surfaces
| App | Local URL | Purpose |
|---|---|---|
apps/app | http://localhost:3000 | Main product application |
apps/web | http://localhost:3001 | Marketing site |
apps/admin | http://localhost:3002 | Admin dashboard |
Infrastructure Services (Docker Compose)
- Required core: PostgreSQL (
5432), Redis (6379), MinIO API (4000) + console (4001). - Common local services: MailDev (
1080/1025), SearXNG (8080), Unstructured API (8000), Qdrant (6333), optional Neo4j (7474/7687), converter (3009). - Optional worker container is defined behind the
workerprofile.
Background Jobs
The @ai/jobs package uses BullMQ queues backed by Redis:
hello-worldtranscriptionfile-indexinglog-cleanup(scheduled daily at02:00 UTC)
What This Means in Practice
- You can run full-stack local development with
bun dev+ Docker services. - You can disable non-essential features and services via env flags without breaking core chat/auth/file flow.
- Production guidance in this repo is GitLab CI/CD + Docker Compose based.