REFERENCE

Tech stack

Chosen for long-term SaaS scaling, not just speed. Multi-tenant from day one — every customer is a Clerk Organization, every row is scoped by org_id.

LayerChoiceNote
FrontendNext.js 16 · React 19 · TypeScript 5App Router, RSC, Server Actions, Turbopack
StylingTailwind CSS 4@theme inline tokens — aviation-midnight palette
MotionFramer Motion 12Microinteractions, checklist transitions
Auth + tenancyClerk (planned)Organizations = customers, RBAC, third-party invites
DatabaseNeon Postgres + Drizzle (planned)Serverless Postgres, type-safe schema-as-code
StorageVercel Blob (planned)Inspection photos, certificates, service records
HostingVercelManual deploys via CLI — apron-app.vercel.app
BillingStripe (later)Subscriptions via Clerk's Stripe integration
EmailResend (later)Interval / defect / work-order notifications
AI serviceFastAPI (later)Maintenance recommendations microservice
Current build runs entirely on mock data (src/lib/mock.ts). Clerk and Neon plug in when persistence becomes essential — the data model already mirrors the production schema.