Role
Lead engineer & architect — system design, payments, and a two-person delivery team.
Published
2023 — 2024
- Astro
- Node.js
- PostgreSQL
- Stripe
- Cloudflare
Impact
- 300+ studios onboarded
- 99.98% uptime over 18 months
- 0 on-call incidents in off-hours
Independent creative studios run on a patchwork of spreadsheets, WhatsApp threads and payment links. Harbor replaced that patchwork with one calm system: scheduling, memberships, invoicing and payments.
Design decisions
The constraint was a team of two and no venture funding, so every decision was measured against operational cost:
- Boring technology. PostgreSQL, server-rendered pages, a queue for async work. No microservices, no Kubernetes, no cleverness tax. The entire platform is one deployable unit.
- Payments done right. Stripe integration covering subscriptions, one-off bookings, proration, dunning and VAT invoices — the unglamorous 40% of the product that customers actually notice when it breaks.
- Edge-first. Static pages on Cloudflare’s edge, dynamic routes only where state demands it. Median page load is under 400ms globally, which matters when your customers book rooms between classes on a phone.
- Self-serve onboarding. Studios set themselves up in under 15 minutes. Support load stays flat while the customer base grew 8x.
Results
300+ studios, ~99.98% uptime across 18 months, and — the metric I’m proudest of — zero off-hours incidents. The system was designed so that nothing urgent can happen at 2 a.m., and so far it has kept that promise.