Architecture
Chompardo is an AI-powered cooking assistant that guides users through recipes in real-time — think of it as a sous-chef in your pocket. The platform combines voice guidance, intelligent timers, and contextual help to make cooking more approachable and enjoyable.
This section documents the architectural thinking behind the platform: the problem space we've identified, how we've decomposed it, and the technical decisions that follow from that decomposition.
Problem Space
Before diving into system design, we start with the domain. The Subdomain Overview maps out the problem space — what's core to our product, what supports it, and what we can buy off the shelf. This classification drives where we invest engineering effort and where we reach for existing solutions.
Domains
The platform spans three domains with distinct responsibilities. The Domain Architecture page covers domain ownership, subdomain layout, auth cookie scoping, and the sign-in flow across chompardo.com, chompardo.app, and chompardo.io.
High-Level System Overview
The platform is structured as a monorepo with distinct apps, shared packages, and local infrastructure:
Each subdomain that warrants custom development gets its own app or service. Shared concerns like UI components, linting, and TypeScript configuration live in internal packages consumed across the monorepo.
The App frontend acts as a Backend for Frontend (BFF) — it authenticates users via the Identity service using OIDC, stores sessions server-side, and will proxy API requests to the Go API with JWTs. See the Authentication page for details on the auth flow.
Key Technical Choices
- Turborepo + pnpm workspaces — Monorepo orchestration with caching and dependency-aware task execution.
- Go — Backend API as a modular monolith with OpenAPI-first code generation (chi router, oapi-codegen).
- React Router 7 (SSR) — Full-stack apps with server-side rendering, used for both UI and backend API routes.
- Better Auth — Handles identity and session management, running server-side within the identity app.
- Traefik — Local reverse proxy routing
*.chompardo.devsubdomains to the correct app/service. - PostgreSQL — Primary data store, shared across services that need persistence.
What's Next
This section will grow as the platform evolves. Planned additions include pages on the overall system topology, data flow patterns, and key integration boundaries as new subdomains come online.