All notes
·1 min read

Building Ourse: shipping a two-app SaaS on my own

OurseSaaSFirebaseSolo dev

Ourse is the product where I get to be the founder, the engineer, the designer and the support desk all at once. It's a coaching platform with two front ends — a React web dashboard for coaches and a React Native mobile app for their clients — sitting on a shared Firebase backend.

One product, two audiences

Coaches and clients want very different things from the same data. Coaches build programs, manage clients, run video sessions, handle scheduling and get paid. Clients follow those programs, log workouts, join challenges and message their coach. Keeping both apps consistent means treating the backend as the single source of truth and letting each front end present it in its own way.

The backend does the heavy lifting

Behind both apps is a backend of 250+ Firebase Cloud Functions covering payments, usage quotas, notifications, analytics and GDPR export/deletion. Payments run on Stripe (Connect and subscriptions). Making billing server-authoritative — so the client apps can never grant themselves access — was worth every hour it took.

Lessons from going solo

  • Boring, consistent conventions beat clever ones. When you're the only person who will ever debug this at 2am, predictability is a feature.
  • Automate the gates. Linting, dead-code checks and tests in CI are how a solo developer keeps a large codebase honest.
  • Ship, then listen. Ourse is live in public beta because real usage teaches you more than another month of polishing ever will.

If you're building something in the coaching space, or just curious how the pieces fit together, take a look at ourse.app.

Working on something with live data or a solo product?

I'm open to senior fullstack and UX/UI work, in Geneva and remotely.

Get in touch