Engineering

Article
The honest account of taking a SaaS from idea to paying customers in four months — the architecture decisions, the near-misses, and what we'd do differently.
When we started building the NDIS SaaS platform, we gave ourselves a hard deadline: paying customers in 16 weeks. Not a beta. Not a pilot. Paying customers with a recurring revenue contract signed. Here's exactly how it went.
Week 1–4: Architecture Before Code
The first month had almost no code written. We spent it on three things: deep discovery with prospective customers, system design, and data modelling. The temptation to start building immediately is strong — and consistently leads to rebuilds. We've learned that the most expensive code is code written before you understand the problem.
- 12 customer discovery interviews with NDIS providers across Victoria
- Complete workflow mapping of the existing manual processes we were replacing
- Data model design reviewed and stress-tested before implementation
- Technology decisions made and documented: Next.js, Supabase, Postgres, Stripe
- Multi-tenant architecture strategy confirmed with row-level security as the isolation mechanism
Week 5–10: Core Build
Six weeks of focused build time covering the essential platform functionality: multi-tenant authentication, participant management, rostering engine, and the compliance alert system. We shipped internal builds weekly and ran them past the two anchor customers we'd identified in discovery — getting feedback before the feature set calcified.
The rostering engine was the hardest piece. The logic for complex multi-participant support runs, split shifts, and travel time calculations took three iterations to get right. Getting real-world data into the system early was what made those iterations fast.
Week 11–13: Pilot
Three weeks of live pilot with two provider organisations using real participant data. We were on call daily. Issues surfaced that didn't exist in development — edge cases in the scheduling logic, performance under real data volumes, and UI friction that only appeared when non-technical staff used the system for the first time.
The pilot period is where SaaS products live or die. If you don't have real users finding real problems before launch, those problems surface after launch — when the cost of fixing them is higher and the reputational stakes are real.
Week 14–16: Commercial Launch
We opened the platform to additional providers in week 14, with a 30-day free trial and straightforward monthly pricing. The two pilot customers converted to paid subscriptions on day one. Four additional providers signed in the first two weeks of public availability.
- Stripe Checkout integrated for subscription sign-up — no manual billing
- Automated onboarding flow: account creation, initial data import template, welcome email sequence
- In-app onboarding checklist surfaced on first login — drove 80% completion of key setup steps
- Documentation site launched alongside the platform — reduced support load immediately
- Weekly product update emails to all accounts from week 1 — established trust and kept the product top of mind
16 weeks from project start to paying MRR. It was tight, it was hard, and we'd do it again the same way — because the constraint forced every decision to be about what was essential, not what was nice to have.
Enjoyed this article? Share it.
Crux Labs Team · Digital Agency
Related Reading
More articles from the Crux Labs team — strategy, craft, and perspective.
Work with us
We don't just write about this — we build it. Get in touch and let's figure out what your business needs.

