The Stack
What makes it an engine, not a template.
This is the reusable core behind every build — extracted from what's actually shipped, not a sales deck.
Core
The technology
- Framework
- Next.js (App Router), React
- Styling
- Tailwind CSS + shadcn/ui — shared tokens, forkable per brand
- Database
- Supabase (Postgres + Storage + Auth) — one project per client
- Hosting
- Vercel, deployed intentionally rather than on every push
Principles
The parts that make it a platform
A content admin, not a ticket to us
Every page type is registered in a content layer with a live-preview editor. The owner edits copy, images, and structured fields with no code and no deploy.
A lead pipeline, not a mailbox
Every public form lands in one pipeline with a honeypot, rate limiting, and file-attachment handling built once and reused — up to a full intake pipeline with address validation, CRM sync, and team notifications, fired without making the customer wait.
Two-flag auth, not "logged in"
A session proves someone registered — nothing more. Staff access and customer approval are checked as genuinely separate grants, by name, in every build.
Store the few numbers that vary, derive the rest
Catalogs and pricing engines both follow this: a handful of real parameters that unfold into the full picture, rather than storing every computed value the way a spreadsheet does.
Row Level Security is the actual boundary
Public read is enforced and status-aware at the database level. New tables start with everything revoked, then only what's genuinely needed is granted back.
It forks fast
A second, legally separate business can inherit the design system, content admin, and lead pipeline as a clean initial commit — and have its own custom logic (like a pricing engine) running days later.