A neat stack of plain blocks feeding a steep growth curve, with a flat 'clever architecture' path not taken below it
Blog
3 min read

From Zero to 8-figure ARR in Two Years on a Boring Stack

How a DTC wellness brand scaled past 8 figures ARR in under two years on Shopify, Recharge, server-side GTM, and a Fivetran→RDS→Metabase pipeline — and why every 'boring' choice was a business decision.

architecturee-commercecase study

In 2022 I joined Live It Up as founding engineer / fractional CTO through Mechanism Ventures. In under two years the brand crossed $30M+ ARR. Here's the part that offends some engineers: we did it on Shopify, Recharge, server-side GTM, Gorgias, and a Fivetran → RDS → Metabase data pipeline.

No microservices. No Kubernetes. No custom checkout. No BigQuery. A stack you could sketch on a napkin and explain to a CFO in four minutes.

That wasn't a compromise. It was the strategy.

The framing that made every decision easy

A startup's scarce resource isn't engineering talent — it's iterations. Every week spent rebuilding a solved problem is a week not spent testing offers, funnels, and products. Shopify's fees are rent you pay so your engineering budget goes exclusively to things that differentiate you.

So the rule: buy everything undifferentiated, build only where the business is unique. Shopify for commerce, Recharge for subscriptions, Gorgias for support, Google Tag Manager for tracking, Fivetran and DBT to move the data around. The custom work and the glue between systems was maybe 10% of the surface area and close to 100% of the differentiation.

What almost broke (it's never what you expect)

Note what's not on this list: scale. Shopify and Recharge never blinked. What hurt was the seams.

Attribution was the existential risk, not infrastructure. A DTC brand lives on paid acquisition, and paid acquisition lives on tracking — while browser pixels were dying to iOS privacy changes and ad blockers. Moving tracking server-side meant conversion data flowed to ad platforms from our infrastructure, not a script in someone's browser. When a single misconfigured flag was misattributing, finding and fixing it was a config change — not a three-week archaeology dig across a dozen pixels.

Webhooks are the real distributed system. Assemble your platform from SaaS blocks and the integration seams become your architecture. Webhooks arrive out of order, duplicated, or not at all. The fix was boring on purpose: idempotent consumers, scheduled reconciliation against source-of-truth APIs, alerts on drift. Not glamorous. Extremely load-bearing.

Migrations happen on the vendor's schedule. When Shopify deprecates something, you migrate on their timeline. That's the real cost of renting — and it's still cheap next to owning checkout forever.

What the data pipeline caught

Fivetran syncs everything into plain Postgres; Metabase puts dashboards in front of everyone. Days to stand up, no data team. What it bought:

  • One version of the truth. Shopify, Recharge, and every ad platform will happily give you four different revenue numbers — each grading its own homework. One warehouse ends the "whose number is right" argument.
  • Subscription economics you can steer by. Cohort LTV, churn curves, dunning recovery — the numbers that decide where the next marketing dollar goes, which no single SaaS dashboard shows you.
  • Silent failures made loud. A discount stacking wrongly, a tracking gap after a theme deploy — these surfaced as dashboard anomalies days before anyone would have noticed organically. Footnotes instead of line items.

The pipeline was never an "engineering project." It was the company's decision-making apparatus, read daily by the people spending the money. That's the bar: not how it looks in an architecture diagram, but whether the CFO trusts it on the first of the month.

And yeah, I know readers with some data engineering experience will shrug seeing Postgres chosen as analytics storage...but after tweaking a few PG params and creating a thin DBT / warehouse layer on top of it, it works surprisingly well and at a fraction of the BigQuery / Snowflake cost.

Infrastructure choices are business decisions

There was no "technical decision" on this list. Shopify vs custom = iterations vs ownership. Recharge vs building = time-to-revenue vs control. Server-side GTM = protecting the engine that funds everything. The pipeline = making every dollar visible and arguable.

"Boring" doesn't mean unambitious. The ambition was business scale in under two years with a tiny engineering footprint — and the boring stack is why that was possible. Every clever component you don't build is headcount you don't hire and iterations you don't lose. The same logic scaled another venture-studio portfolio product to thousands of concurrent users on a few ECS tasks and one RDS instance. Not a coincidence — a policy: spend novelty budget only where the business is genuinely novel.

Choose boring. Spend the savings on winning.


Staring at your own build-vs-buy fork — or a stack that's clever in all the wrong places? This is exactly the kind of call I make with founders. Here's how I engage.

Working through this problem in your own company?

→ How I engage