How We Shipped a Production SaaS in 72 Hours Using Zutra
The constraint was the point
We gave ourselves 72 hours. Not because we had to — because constraints are the sharpest design tool available to an engineering team.
The product: a B2B analytics dashboard for e-commerce operators. The requirements were non-negotiable: multi-tenant auth, usage-based billing, real-time data, edge-deployed globally.
Without Zutra, the honest estimate was three weeks minimum. With it, we shipped in a weekend.
What Zutra handled
Before writing a single line of product code, the following were already working:
- Auth: OAuth2 with GitHub and Google, magic links, session management, and per-tenant isolation. Zero config.
- Billing: Stripe subscriptions with a 14-day trial, metered usage tracking, and a pre-built Customer Portal.
- Database: A globally replicated Postgres instance with sub-5ms reads on the edge. We connected with a single environment variable.
- Deploys: Git push → 28-second global edge deploy. Preview branches for every PR.
That’s the 80% most SaaS products spend weeks on. We started at the 20% — the actual product.
The velocity compound effect
What surprised us wasn’t the initial speed. It was how velocity compounds.
When you’re not context-switching between “how do I set up PKCE flow” and “what does my actual product need to do,” you ship faster every day. By hour 48, we were iterating on the core analytics query engine — not debugging a webhook signature verification.
Numbers
| Metric | Value |
|---|---|
| Time to first deploy | 4 hours |
| Auth module setup | 18 minutes |
| Billing module setup | 42 minutes |
| Lines of infrastructure code written | 0 |
| Total product lines of code | ~3,200 |
The honest tradeoffs
Zutra is opinionated. If your stack needs to diverge significantly — custom auth flows, non-Stripe billing, bespoke infra — you’ll fight it. It’s designed for the 90% use case, not the edge case.
But for building standard SaaS? It’s not close.
Takeaway
The best infrastructure is the infrastructure you don’t think about. Zutra gets out of the way so you can build what your users actually need.
We shipped. It worked. We’d do it again.