Ethereal CRM
We run our studio on the same stack we sell. Our internal client platform handles projects, invoices, and revenue, with no servers for us to babysit.
When we tell a client their site will run on serious, modern infrastructure, this is the receipt. Our own operations — every client record, invoice, and notification — run through the architecture we recommend.
It also keeps our overhead near zero: there are no servers to rent, patch, or watch between projects. We pay for what runs.
The dashboard is a hosted React app. Every action calls a Supabase Edge Function, which reads or writes Postgres and checks who is signed in. Payments and alerts plug into the same functions.
- Supabase Edge Functions for all business logic
- Postgres tables for clients, projects, and invoices
- Supabase Auth for the two of us
- Email and text alerts on form submissions and payments
- Stripe webhooks for payment events
- Managed hosting with SSL and backups
Every pattern in a client proposal — smart forms, payment webhooks, instant notifications — exists here first, in production, handling our own money.