Docs/Help/Architecture

Architecture

Updated Sep 19, 2026Help

Technical architecture of the Airbuild platform.

Frontend

  • Framework: React 18 with TypeScript
  • Styling: Tailwind CSS
  • State Management: Zustand stores
  • Routing: React Router v6
  • Icons: Lucide React
  • Build: Vite
  • Real-time: WebSocket for streaming AI responses and events

Backend Services

  • Dev-Server — Code generation, AI chat, project management, file operations
  • Management — User accounts, billing, team management, OAuth
  • Accounting — Usage tracking, cost analytics, Stripe integration

AI Models

  • Chat & code generation — Claude (Anthropic) by default; GPT (OpenAI), Gemini (Google), DeepSeek and Mistral selectable per project
  • Image generation — Gemini (Google)

Infrastructure

  • Workspaces — Each workspace has its own file tree, dev server and ports on the runner fleet; generated code runs as an unprivileged sandbox user, separate from the platform's own service account. Where the runner host allows it, egress firewall rules additionally block the cloud metadata endpoints, Redis, PostgreSQL and internal service ports; where it does not, VPC security groups limit what a workspace can reach
  • Region — AWS eu-central-1 (Frankfurt) for all production compute, databases, file systems and object storage
  • Cloud hosting — AWS ECS (Fargate) for backend services
  • Database — PostgreSQL (RDS) for management, Aurora for published app databases
  • Storage — S3 for assets, screenshots, published sites
  • CDN — CloudFront for frontend delivery
  • Cache — Redis for workspace state and node discovery

Key Design Decisions

  • Merge only, never rebase — All Git operations use merge strategy
  • File-based project storage — Dev-Server stores projects as JSON files on EFS
  • Per-user source paths — Each collaborator has isolated file paths
  • Per-project model choice — One model per project, every provider billed in the same AI Tasks
  • Auto-commit — AI changes are committed and pushed in the background; the push is best-effort, and a failure is logged rather than retried