Case Study • Sourcely
An e-commerce education business was earning $10 million a year 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. It reached $100,000 a month within four months and has earned over $2.5 million across three years, on a build that cost under $50,000. A return of 50x, and a line a buyer could value in the millions.
$10 million a year, and not a dollar of it recurring
Our client taught people how to start and run their own online stores. He sold that teaching as a course, and he sold a lot of it. Ads pointed at a free training session, the training session filled a mailing list in the hundreds of thousands, and a two-hour webinar sold the course at a few thousand dollars a seat. That funnel earned $10 million a year, on a team of fewer than 10 people. There was no public personality behind any of it, no following worth speaking of, just the list and the funnel. He was good at this, and we were not walking in to rescue anybody.
The catch was that every customer paid once. They bought the course, finished it, and nothing came back the following month, so the machine had to be pointed at a fresh set of strangers again, every month, forever. Stop pushing and it stops.
We run every project through two layers.
Layer 1 — what would make this 10x better for the people using it? Every student hit the same wall before they could sell anything, which was deciding what to sell. Find a product, check the margin, find a supplier, work out shipping, then write the advert and the description from a blank page. Hours per product, across several tools, repeated for every product they tested. The task never changed and every student did it the same way, which is the shape of something software does in seconds.
The same steps, over and over — the exact shape of a product.
Layer 2 — what does solving it do for the business? A course business is valued as the operator's personal income, because that is what it is. There is nothing to sell but a mailing list. Turning that repeated task into a subscription gives the same audience a reason to pay every month, which is revenue that arrives without being sold again, and an asset somebody could eventually buy.
One is worth this month — the other is worth selling.
Most people are sitting on distribution they have never fully used
A lot of people are sitting on distribution they have never fully used. They have spent years and real money building an audience that trusts them, and they earn from it in bursts. A launch goes out, the ads run, a few hundred people buy, and then the funnel goes quiet until the next one. The audience is still there. The money is not, because everyone in it already bought the only thing there was to buy.
That is the gap. Distribution is the hardest and most expensive thing to build in any business, and most of the people who own it are collecting one payment per customer from it.
So we run every prospective build through the same check. We call it the leverage test, and it asks three things.
When all three line up, there is a product waiting to be built, and the person is already holding the expensive half of a software business without treating it as one.
This client had all three
The distribution was finished and paid for long before we arrived. The only missing piece was the product, and the product is the cheap half.
That is the leverage, and what it buys is a different kind of revenue. Course sales are earned once and never heard from again, so the business is only ever worth what its owner can generate this month. A subscription 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 business underneath.
He was already holding the expensive half of a software business without treating it as one.
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.
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.
An advertisement, or a product description. Two options and a button.
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.
We owned the whole arc: the product decision, design, the build, the launch into his funnel, and the years of support after it. The software itself was the smallest part of that, and worth being plain about. A catalogue behind a login and a text generator over it, built by a team that had shipped this kind of thing for two and a half years. Nobody is impressed by that, and it was never where the value sat.
How it started. One of his 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. He brought the idea fully formed, we were hired to build it, and it worked first time.
Six weeks. A catalogue his own team kept stocked by hand, an AI copy tool over it, a login, and billing with monthly, annual and lifetime tiers.
Where the real work was. Pricing the tiers so the subscription strengthened the course business instead of competing with it. Billing that handled signups, renewals and cancellations without dropping anyone. A checkout that dropped into a funnel already tuned to convert, without disturbing the thing that already worked. The lifetime tier did 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.
Not a cold launch. It went out across every surface the business already had. Pre-sold to the mailing list before it existed. Launched into a paid community. A mass email to the list. An upsell on the thank-you page every buyer already saw. And sold from the webinar stage that was already selling the course. Every one of those was paid for long before the software existed, so acquiring a subscriber cost close to nothing.
Sold before it was built. Hundreds of people were paying before there was anything to log into, over 500 on the day it opened. They did not need convincing the tool was worth buying, because they had already decided that about him.
It was launched to a list, not bundled into the course. An upsell after the sale, and a product in its own right.
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.
The subscriber-facing application, the catalogue, the filters and the generator, all running without page reloads.
The application logic, the accounts and the API. One language across the stack kept it simple to pick up.
The catalogue, the categories and the subscriber records, in a conventional relational database.
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.
Everything deployed on AWS, with room to grow as the subscriber base did.
A business that earned in bursts now had money coming in every month
Before the platform, every dollar the business earned had to be sold for. A launch brought in a burst of course sales, and once those buyers were through the funnel there was nothing further to collect from them.
Within three to four months the product was earning $100,000 a month, and it arrived whether or not there had been a launch, whether or not he was at his desk. Six weeks of work had added a tenth of the revenue of a $10 million business, and this tenth did not need selling again next month.
What it cost to get there. Under $50,000 to build and under $15,000 a year to run. It has earned over $2.5 million in three years, a return of 50x. We never got on a call with him until the product had already made its first $100,000. The build ran on a written description and a handful of messages, and we have supported it ever since.
The number that never shows up in a monthly report. A course business sold through paid ads has close to zero enterprise value. There is nothing to sell but a mailing list, because the business is the operator, and a buyer is not purchasing an asset so much as his continued attention. A subscription earning over $1 million a year is a different proposition. At the conservative multiples these trade on, that line alone is worth $5 to $8 million, sellable without the man attached to it.
Six weeks of work created an asset worth several times what the software has earned in cash.
That is what changes when revenue recurs.
Six weeks from a description to a product taking payments, then three years of keeping it running.
This was very nearly the only point in the whole engagement where his input was needed, and it came in writing rather than on a call.
Subscribers began arriving immediately, because the audience was there and already warm.
The engagement that began as a six-week build has now run for three years.
The same product would take us two weeks now, not six.
What took six weeks in 2023 took a designer, project managers and several engineers working together. Today one product lead builds the mockups in a day and ships the whole thing in two weeks. The tools caught up with the process we already had, which is why a build like this is now within reach of far smaller operators than the one in this story.
Hundreds of subscriptions were paid for before there was a product to log into. That is the sequence worth copying. An operator with distribution can sell a subscription to their own audience before a line of code exists, which means the build is de-risked before it starts and the thing arrives already earning.
What sinks most software is finding people to sell it to. That risk never existed here, because the audience was built, warm and buying before we wrote a line. The first question on a project like this is not what to build. It is whether there is already a paid-for audience to build it for.
The point was never a better tool. It was giving a business that earned in one-time spikes a line that arrived every month, and with it an asset that could be valued on its own rather than as the operator's personal income. Same audience, same expertise, worth more.
This is the one we would do differently. The software never broke and support was never a burden, but nobody was feeding the top of the funnel, and by the end of 2024 the product was adding around 46 new users a month while the revenue coasted on the subscribers already inside. Keeping a product running and growing a product are different jobs, and only the first one was ever bought.
A catalogue and a text generator, both of which we had built before. What mattered was the judgement around it: which piece of the method to turn into software, what to charge, and how to place it in a funnel without breaking what already worked. That is the part an operator cannot do alone and the part a shop paid by the build has no reason to think about.
It fits an operator with an audience they own and a complex repetitive task inside what they teach. Course sellers, coaches, consultants, community owners. Someone doing $2 to $3 million a year or more, running paid ads at volume into a funnel that already converts, whose students all perform the same task the same way.
It does not fit everyone. Under $100,000 a month, or running on organic reach rather than paid traffic, or with no complex repetitive task underneath the teaching, and the thing that made this work is missing. The product was never the hard part. The distribution was, and this operator had already paid for it.
Nobody is impressed by software any more. What still works is an audience that pays before the thing exists.
We became the software arm of a business that had spent years building an audience and had nothing recurring to sell it. Six weeks turned its method into a product, hundreds of people were paying for that product before there was anything to log into, and three years on it has earned over $2.5 million.
The sequence is the whole thing. An operator with real distribution, a complex repetitive task inside the method, and the expertise to know how it should be done, selling a subscription to their own audience before a line of code exists. Building is the cheap, fast, solved part now and it gets cheaper every year. What decides whether a product earns is everything that happens around it.
We became the software arm of a business that already owned the expensive half, the audience, the distribution, the proven method, and built the recurring product it never had. Six weeks turned one operator's method into a product, and three years on it has earned over $2.5 million.
The sequence is the whole thing: real distribution, a repeatable task worth encoding, and a subscription sold to that audience before a line of code exists. Building is the cheap, fast, solved part now. Everything that happens around it is the work.
You are an operator with a real audience and a proven method, a course, a coaching program, a community, doing $2 to $3 million a year or more into a funnel that already converts, with nothing recurring to sell the people who already trust you.
You want a partner who understands the business model as well as the technology, not a dev shop that only builds what you specify.
You want a chatbot for your dashboard, AI for the press release, or features a foundation model will commoditize in six months.
We will tell you that directly.
30 minutes. No deck. We will talk through your challenge, share some relevant work, and see if it makes sense to work together. Or honestly, just grab coffee and chat, no agenda needed.
Book an Intro Call →Prefer email? contact@ionio.ai