Skip to content
Workspace
Contact
Status
Owner
Tags
Date

Last reviewed
Sep 22, 2026
Reviewers
Jonas Weber, Leo Martins
Scope
Web app, API, workers, storage

The platform is a Next.js front end talking to a typed API layer. Anything slow (imports, exports, AI summaries) moves to a queue so requests stay fast and retries are safe.

System diagram

Clients

Web app

Next.js, React

Mobile app

React Native

Edge

API gateway

Auth, rate limits

CDN

Static assets

Services

Core API

Node, tRPC

Workers

Queue consumers

AI service

Summaries, RAG

Data

Postgres

Primary + replica

Redis

Cache, queue

Object storage

Uploads, exports

Request path from the browser to storage

Request lifecycle

  1. The gateway verifies the session and applies per-tenant rate limits.
  2. The API validates input with shared zod schemas and checks permissions.
  3. Reads go to the replica; writes go to the primary inside a transaction.
  4. Slow work is enqueued and the client is notified over a websocket when it finishes.

Key decisions

DecisionWhyRevisit when
Postgres full-text searchOne less system to operate; good enough ranking for our volumeSearch needs typo tolerance or facets
Single API deployableKeeps the team fast and refactors cheapA service has a very different load profile
Queue for AI callsModel latency is unpredictable; retries must be safeNever, this one stays
Service health dashboard used during rollouts

See the Deployment runbook for how each piece ships, and AI meeting summaries for the AI service design.


Pages inside

Comments1

  • LM

    Leo MartinsSep 26, 11:02 AM

    Worth adding the websocket gateway to the diagram now that streaming is live.

V