Branded iOS & Android apps for hair salons in Romania & CEE — powered by a serverless-first architecture with a 99% gross margin at scale.
A self-service platform that spins up fully-branded App Store apps for salons — with booking, CRM, and an optional AI phone receptionist.
From zero to first paying client in ~6 months as a solo developer.
Core infrastructure, mobile basics, booking flow, and dashboard skeleton.
Edge functions for SMS + self-service onboarding wizard.
Twilio number provisioning + Eleven Labs conversational agent wiring.
Redis slot locking, Stripe billing, EAS auto-submit, QA hardening.
Pilot with 3–5 salons, App Store submissions, OTA update flow live.
Add-on marketplace, AI Receptionist billing, Client Reactivation, marketing site.
Four tiers define what ships when — and what's intentionally excluded.
Not a monolith, not microservices — a distributed system in one monorepo with three distinct runtime layers.
PostgREST auto-generates REST endpoints. RLS enforces tenant isolation at the DB level. Zero NestJS CRUD code.
Stateless, short-lived (under 5s). TypeScript native, no node_modules, <5ms cold start. Triggered by webhooks or DB events.
Complex multi-step orchestration. Long-running flows, Redis locks, external API coordination with rollback logic.
A salon goes from sign-up to live App Store app — largely automated — in 1–3 days.
Open/closed architecture: new add-ons ship without touching core business logic. One guard, one table, one decorator.
Setup fee + monthly SaaS base + high-margin add-on upsells.
One-time per salon onboarding, brand config, EAS build + App Store submission
Base plan — booking, dashboard, SMS reminders, CRM, OTA updates
Target 60% attach rate at 100+ salons. Eleven Labs flat cost at scale.
Base plan + AI Receptionist + one retention add-on = typical high-value client
Infra cost is nearly flat until 2,000 salons. Margins improve as salons grow.
| Stage | Salons | MRR | Infra/mo | Margin |
|---|---|---|---|---|
| Launch | 10 | €1,750 | €305 | |
| Early | 100 | €17,500 | €1,414 | |
| Growth | 500 | €92,500 | €2,554 | |
| Scale | 2,000 | €390,000 | €5,148 | |
| Mature | 5,000 | €1,000,000 | €9,649 |
All tables are RLS-isolated per tenant. No manual WHERE tenant_id — the DB enforces it from the JWT.
Documented for proactive management — not to worry about, but to have a plan.