SYSTEM

Architecture

Exactly how Apron is wired today — every layer, every service, and the data flow between them. Cyan dots are live request paths. Click any node for what’s done and what’s left.

8
LIVE
1
PARTIAL
2
PLANNED
OperatorTHM · fieldPlannermaintenanceThird-partyservice providerBrowserReact 19 clientVercel ProxyclerkMiddleware()Next.js 16 AppRSC + Server ActionsClerkauth + organizationsNeon PostgresDrizzle ORM · eu-central-1Vercel Blobfile storageStripebillingResendemailUSERSCLIENTEDGEAPPSERVICES
Live
Partial
Planned
CLICK A NODE FOR DETAIL

Next.js 16 App

Live

The application — React Server Components for reads, Server Actions for writes. Hosted on Vercel.

Done
  • All routes live
  • Server Actions persist writes
  • /app gated by auth()
Missing
  • Rate limiting on actions
Request path today: browser → Vercel proxy (clerkMiddleware establishes auth) → Next.js 16 app. Server Components read Neon via Drizzle; Server Actions write to it. Clerk gates /app. Blob, Stripe and Resend are wired in the data model but not yet connected.