Overview
SiteCrate is a Canadian web-design agency operated as a small software system. A prospect fills out an intake form, the work is tracked through an internal dashboard, the client site is built from a shared template, and the client watches progress on a private status page — all backed by one Supabase project.
The moving parts
Section titled “The moving parts”| Piece | What it is | Lives at |
|---|---|---|
| Marketing site | Public agency site + client intake + client status tracker | sitecrate.ca |
| Admin dashboard | Internal control panel — pipeline, revenue, analytics, Build Brief | admin.sitecrate.ca |
| Client template | Tier 1 starting scaffold, cloned once per client | sitecrate-presence (private repo) |
| Data layer | One Supabase project, two isolated schemas (public / staging) | Supabase |
| Transactional email via Resend, sent from one Netlify function | hello@sitecrate.ca |
The lifecycle of a client
Section titled “The lifecycle of a client”- Intake — a prospect submits the form on
sitecrate.ca. A row is written to the Supabaseprojectstable through a capability-token RPC, and a confirmation email goes out. - Brief — Ahmed opens the project in the admin and clicks ⚡ Build brief to generate the clone command and a pre-filled Claude Code prompt.
- Build — the
sitecrate-presencetemplate is cloned per client and built out with Claude Code, then deployed to a{slug}.sitecrate.capreview. - Review — the project stage moves to
review; the client gets an email and reviews their site on the status page, where they can leave feedback or approve. - Launch — once approved, the preview subdomain is swapped for the client’s real domain.
Every public interaction — intake, status reads, feedback, approval — is
mediated by SECURITY DEFINER RPCs keyed on a capability token. The public
site never touches the projects table directly. See
Capability-token RPCs & RLS for why.
Where to go next
Section titled “Where to go next”- New to the system? Read The three-repo system.
- Working on the database? Supabase & the projects table.
- Shipping a client site? Client delivery: intake → launch.
- Setting up or deploying? Development & CI/CD and Environments & credentials.