Skip to main content
This section contains the formal system design documentation for the Royal Glow Salon & Spa platform — written to staff-engineer review standard.
Royal Glow is a monolithic modular monorepo targeting 20k–50k registered users at ₹0/month infrastructure cost. Read the High-Level Design for architecture and decisions; the Low-Level Design for state machines, sequences, and schema detail.

Documents

High-Level Design

Architecture overview, technology decisions, data model, auth design, and API patterns.

Low-Level Design

Database schema details, state machines, sequence diagrams, and implementation specifics.

At a Glance

Architecture Style

Monolithic modular architecture — not microservices. The codebase uses strict layer separation within a monorepo to achieve the modularity benefits of microservices without the operational burden. Each layer has explicit import boundaries enforced by the package structure.
No database queries in API routes. No framework dependencies in business logic. No I/O in pure functions.

Key Design Decisions

Solo developer — there are no team boundaries to split a microservice topology along. Strict layers give the modularity without the ops cost.
Git-like branching, serverless scale-to-zero, and a generous free tier.
Pure TypeScript with no runtime binary, keeping the data layer portable and straightforward to package for Lambda.
Self-hosted, Google OAuth with your own domain on the consent screen, and built-in RBAC.
apps/web and apps/admin each deploy as sst.aws.Nextjs: OpenNext packages the Next.js output, AWS Lambda runs SSR/API compute, and CloudFront delivers each app. Payload CMS remains on Render; invoicing remains on Cloud Run.
6M messages/mo free, with Token Auth for per-role channel scoping.
Eliminates floating-point rounding errors in billing and GST.
App-generated text keys prevent enumeration attacks.
Last modified on September 1, 2026