The app is built and running — it just has no database to talk to. Three things and it's live.
Create a Supabase project
A new project of its own. Apply the schema with npm run schema (or paste supabase/schema.sql into its SQL editor), then put the Project URL, anon key, and service_role key in .env.local.
Set the mail secret
MAIL_SECRET_KEY — any 32+ character string. Customers connect their own mailbox in Settings; their password is encrypted with this before it reaches the database. Changing it later invalidates every stored credential.
Restart, then create the first workspace
Environment changes need a restart — NEXT_PUBLIC_* values are baked in at build time, so a reload won't pick them up. Then sign up at /signup; every customer gets their own workspace the same way.
Full walkthrough in README.md.