ShipAI Docs
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

CategoryTechnology
Runtime / Package ManagerBun 1.1.26
Monorepo Build SystemTurborepo (turbo)
Frontend FrameworkNext.js 16+ (App Router)
StylingTailwind CSS v4
LanguageTypeScript
Lint / FormatBiome
DatabasePostgreSQL 17
ORM / MigrationsDrizzle ORM + drizzle-kit
AuthBetter Auth (magic links + OTP test flow)
AI SDK / ProvidersVercel AI SDK, Groq, OpenAI
Queue / WorkersBullMQ + Redis + @ai/jobs worker
Object StorageMinIO (S3-compatible)
PaymentsStripe
SearchSearXNG (self-hosted)
Memory LayerQdrant (vector), optional Neo4j (graph)
Email Dev ToolingMailDev

Application Surfaces

AppLocal URLPurpose
apps/apphttp://localhost:3000Main product application
apps/webhttp://localhost:3001Marketing site
apps/adminhttp://localhost:3002Admin 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 worker profile.

Background Jobs

The @ai/jobs package uses BullMQ queues backed by Redis:

  • hello-world
  • transcription
  • file-indexing
  • log-cleanup (scheduled daily at 02: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.

On this page