Case Study • E-Commerce Products

How We Added a
Million-Dollar
Recurring Revenue
on a Six-Week Build

An e-commerce education business was making close to a million dollars a month selling a course people bought once, and every month it started again from zero to do it.

We became its software arm and built a subscription product for the audience it already had. Six weeks and under $50,000 to build, over $2.5 million earned since 2023, and a recurring line a buyer could value in the millions.

$2.5M+
Software revenue in three years
50x
Return on the build investment
6 weeks
Zero calls before launch
$100k
Monthly recurring, within four months
The Problem

The Expensive Problem

Eight figures a year, and not a dollar of it recurring

A business can make a million dollars a month and still be worth almost nothing. This one did. Every dollar it earned was a one-time sale, so the month it just had told you nothing about the month coming, and if the ads stopped the revenue stopped with them.

The client taught people how to build and run online stores, and he was good at it, making between $8 and $10 million a year. There was no public personality behind it and no following to speak of, just a very large email list and a funnel that turned strangers into buyers on schedule.

This is the world of course sellers, coaches, consultants and community owners. People with a proven method and an audience who will pay to learn it. The teams are tiny, often fewer than 10 people, the margins are very high because the product is knowledge, and the good ones run paid ads at volume into a funnel that already converts. This client was one of the good ones. We were not walking into a rescue.

A Fountain, Not a Reservoir

The Old Model
≈ $1M A MONTH ALL OF IT IN THE AIR NOTHING POOLS HERE PUMPED BY PAID ADS · STOP THEM AND IT ALL DROPS

A fortune in the air, and a dry basin under it.

His funnel was the standard shape for the industry back then. An ad offered free training, signing up put someone on the email list, a run of emails pointed at a two-hour webinar, and on the webinar he sold the course at a few thousand dollars a seat. Push enough traffic through the top and it lands near a million dollars a month. Stop pushing and it lands at nothing, because it holds only while the ad costs behave and the account stays approved and the operator keeps showing up to sell.

And for all the money moving through it, there was nothing to sell. A business shaped this way is valued as the operator's personal income, because that is what it is. The students were doing fine and the business was winning. What it did not have was revenue that arrived on its own, and underneath the method sat a complex repetitive task every student performed the same way, which is the shape of a product.

The Build

Why This Was Easy

We had built this before, many times, and by 2023 we had been shipping software for two and a half years. Everything this product needed was work we had done on other projects already. A catalogue behind a login, search and filters over it, billing, and an admin panel to keep it stocked. There was no unfamiliar problem in it and no technical risk worth the name.

The product itself was simple. A catalogue of handpicked products, kept current by hand, that subscribers browsed by category with the numbers that mattered attached, and a generator that wrote ad copy and product descriptions on request. Useful, and not hard. Anyone who builds software could build it.

It helped that the project found us at the right time. We had a designer, project managers and several engineers, and we had turned building this kind of SaaS into a settled process rather than a scramble. So six weeks was not a push. It was the normal pace of a team that had the skills, the systems and the people already in place.

Nobody is impressed by the software. That was never the point.

The Calm and the Storm

Build vs Judgement
The Software THE EASY PART WHERE IT GOES IN THE FUNNEL WHAT BECOMES SOFTWARE HOW TO PRICE IT THE CODE WAS THE CALM · THE DECISIONS WERE THE WORK

The build was the calm eye. The judgement was the storm.

What the operator could not do himself was the part that actually mattered. Which piece of his method should become software and which should stay a course. What a subscriber would pay every month. How to price the tiers so the product strengthened the course business instead of eating into it. How to drop it into a funnel that was already converting without breaking what worked. A shop paid by the build has no reason to think about any of that, and it was the whole job.

The code being easy is what let the engagement go where it counted. That is why six weeks of work has returned over $2.5 million, and why the software is the least interesting thing in this case study.

Opening illustration for the philosophy behind the case study
The Philosophy

The Leverage Test

We look for three things together. Someone with distribution they already own, a complex repetitive task sitting inside the work they teach, and the domain expertise to know exactly how that task should be done. When all three are present, there is a product waiting to be built, and the person who owns them is already holding the expensive half of a software business without treating it as one.

This client had all three. Hundreds of thousands of people who trusted him and bought when he recommended something. A method whose students all performed the same research the same way, over and over. And enough expertise to know which products were worth selling and why. Distribution is what normally takes years and burns the money, and he had finished paying for it long before we arrived. The only missing piece was the product, and the product is the cheap half.

A RECURRING ASSET THE PRODUCT THE MISSING PIECE WHAT HE ALREADY OWNED

He'd already cut the hard facets — the product was the last one.

That is the leverage, and the reason it matters is what one-time revenue does to a business. Course sales are earned once and never heard from again, so the business is only ever worth what its owner can personally generate this month. Recurring revenue is a different asset entirely. It arrives without being sold again, it compounds, and it can be valued and sold on its own terms. Same audience, same expertise, a completely different kind of business underneath.

Product Walkthrough

The Platform in Action

01 / Idea Research

Every vetted product in one place

The home screen is a product grid with categories across the top and a counter strip above it: products tracked, how many are high demand, how many low competition, what is trending, which category is running hottest. Each card carries its badge, the listing cost against the retail price, shipping time, and a route straight to the supplier.

The subscriber home screen: a grid of vetted products with categories and a demand counter strip above
02 / Product Detail

The whole case for one product

Cost against retail price at the top, so the margin is the first thing you see. Below it the logistics that decide whether a product is workable: shipping time, where it ships from, processing time, returns. The insights panel repeats demand and competition for that item and closes with a plain note on why it made the list.

A product detail page: cost against retail price, shipping and returns, an insights panel, and a note on why it made the list
03 / AI Copy Creator

Pick what needs writing

An advertisement, or a product description. Two options and a button.

The AI copy creator: choose an advertisement or a product description
04 / The Brief

A short form, then finished copy

A writing framework to work within, AIDA by default. What the product is, the brand, who it is for, then price and category. Five fields between finding a product and having the copy to sell it.

The brief: a short form with the writing framework, product, brand, audience, price and category
The Solution

What We Built

We owned the whole arc, from the product decision through design, build, launch and the years of support that followed. Only a small part of that was the software.

One of the client's marketing agencies referred him to us. We had already built for two of that agency's other clients, so there was trust in the room before the first conversation. There was never another dev shop in the running and never a bake-off. The idea was his and the agency's together, he brought it to us fully formed, and we were hired to build it. He did not try three things first. He had one idea, hired us, and it worked the first time.

The Build

A catalogue kept current by hand, a content generator, a login and a billing system with monthly, annual and lifetime tiers. Six weeks. We have covered why that was the easy part.

Familiar Parts, Stacked Fast

The Build
LOGIN CATALOGUE CONTENT GENERATOR BILLING · 3 TIERS STACKED IN SIX WEEKS · THE EASY PART

Parts we had built before — stacked into a product.

The Commercial Wiring

This is where the real work sat. Pricing the tiers so they strengthened the course business instead of undercutting it, with monthly, annual and lifetime options. The lifetime tier turned out to do a second job nobody planned for: offered to anyone asking for a refund on the course, it turned a request for money back into a subscriber kept. Billing handled signups, renewals and cancellations cleanly, and the checkout dropped into a funnel already tuned to convert without disturbing the thing that already worked. Get this wrong and it does not throw an error, it quietly loses money or breaks the page the whole business runs on.

Planted Once, It Keeps Growing

The Commercial Wiring
RECURRING REVENUE THE COMMERCIAL WIRING

Planted once by the wiring — it grows and keeps giving.

The Launch

The product did not go out to a cold audience, it went into a machine that was already running, and it went in on more surfaces than one. It was pre-sold to the email list before it existed. It launched into a paid community. It went out as a mass email to the list. It sat as an upsell on the thank-you page every buyer already saw. And it was sold from the webinar stage that was already selling the course. Because every one of those surfaces was already paid for, the cost of acquiring a subscriber came out close to nothing.

Built on the Pad, Then Launched

The Launch
THE PRODUCT 500+ SUBSCRIBERS DAY ONE · $0 BEFORE IT EXISTED 5 SURFACES · ALREADY PAID

It assembled on a pad already built — then it launched for almost nothing.

Hundreds of people were paying for the platform before there was a platform to log into. Over five hundred on the day it opened. The audience did not need convincing that the operator's tools were worth buying, they had already decided that about him, and the subscription inherited that trust the moment it was offered.

It was launched to a list, not bundled into the course. An upsell after the sale, and a product in its own right.

Internal Infrastructure

Technical Infrastructure

The stack was deliberately ordinary. Everything here is mainstream and staffable anywhere, because the client would own the product long after we handed it over.

Frontend

React

The subscriber-facing application, the catalogue, the filters and the generator, all running without page reloads.

Backend

Node and Express

The application logic, the accounts and the API. One language across the stack kept it simple to pick up.

Database

PostgreSQL

The catalogue, the categories and the subscriber records, in a conventional relational database.

Admin

Off-the-shelf panel

Rather than build an admin interface from scratch, we put an existing one over the database so a non-technical team could keep the catalogue current themselves. It saved weeks and meant they could run it without us.

Cloud

AWS

Everything deployed on AWS, with room to grow as the subscriber base did.