So much has happened in the last few weeks that it’s hard to know where to focus.
When I decided to pivot my course business into AI-assisted software, I knew things were going to be different…
But the actual nature of the work continues to surprise me. (In a pleasant way!)
Let’s get into it…
| Sidenote – What you’re reading here is me “live blogging” the growth of my new StoryLearning App. If you’re interested in the chronology of it all, you can read back issues on the blog here. |
The Numbers
Before we get into it, here are some key numbers from the app…
- Active subscribers: 1,766 (1,409) (1,089)
- MRR: $24,171 ($17,304) ($12,652)
- Total views on that banger YT video from last week: 1.6 million (ok, that’s just a brag)
By the way, I’m putting all this together after a marathon 3-hr padel session this morning, so if there are any typos or other unintelligible sentences… it’s because my arm’s about to fall off.
(Seen here with André Chaperon, coming out of retirement to help me crush.)
The Video That Kept Popping
In my last update, I told you about a YouTube video that was popping off and resulting directly in sales.
Well, in a happy turn of events, that video not only continued to pop, but popped even harder than before.
It’s now at over 1.7 million views.
As a result, it has driven a remarkable stream of sales (dozens every day) and pushed our MRR up to over $24,000.
I’m not going to talk too much about this video — as good as it is, I don’t think there’s much you can really learn from this other than: “Hey, YouTube is pretty cool.”
(It is, by the way, and I teach my whole system in this intensive programme.)
On a practical note, it is nice to have very early validation of a go-to-market strategy that works.
Many startups, after all, spend years figuring out GTM.
Me? I’m getting away with just making YouTube videos, like I always have, and it’s going splendidly, which I can only put down to the fact that I’ve never once had the good sense to stop.
Since this success, we have started adapting our strategy slightly to focus on video topics where mentioning the app is a natural fit, and from now on every video will include an explicit CTA to the app around the half-way point.
Over time, this should compound very nicely indeed.
Our Churn Is Very High
Next up is the issue of churn.
Our churn is very high – about 16%.
That number might make your eyes pop out, but in B2C education software, this is not out of the ordinary.
But whatever – I’m not going to let that be an excuse.
I’m fully aware that churn is the single most important metric you can worry about, because with every percentage point you claw back, you make orders of magnitude more money in the long run.
What this shows: a measly 2% reduction in churn results in 35% more monthly revenue after 3 years
until this point, we haven’t really stopped to look at this because we’ve just been getting the main product up and out, but now we’re turning our full attention to it.
The picture is quite interesting
Our #1 Cause of Churn
We measure the quality of our stories by asking users to give each one a star rating from 1 to 5 when they finish reading each story.
1 star: they hated it.
5 stars: they loved it.
When we first launched the app, the average rating was around 4 stars.
“Great,” we thought. “Our writing process is working well!”
And indeed it was.
In fact, it still is.
One of the things about our business is that we know how to write stories for language learning. We’ve got over 10 years of experience doing this, so we don’t mess around.
So what’s the problem?
It turns out that the median enjoyment rating for stories has been falling over time.
Why would this be?
Has something changed in the prompting process? Are we getting a different type of user who likes our writing less?
In fact, it’s something completely different.
The more stories people read, the less they enjoy them… because the stories are beginning to converge around similar themes..
In other words, they’re getting repetitive.
Here’s why:
LLMs, by their nature, converge.
They’re basically prediction machines.
It’s like a sat nav that finds a clever shortcut and then sends every driver down it, until the shortcut is the most jammed road in town..
The latest models are extremely good at writing one single story in isolation.
But by the time you’ve read 5, 10 or 15… you start to notice the same things cropping up time and time again.
The same fishing village setting.
The same handwritten note slid under a door.
The same female protagonist called Maria, who notices that something has gone missing and sets out to find the culprit by looking at CCTV.
You get the idea.
It’s undoubtedly bad news that people are cancelling because they’ve stopped enjoying the stories. But if a man must have bad news, he could do a lot worse than the kind he knows how to fix.
i.e. I think this is a fairly solvable problem.
The system we’ve built to write stories in the first place is performing very well – we just need better control over the ideation process, and better tracking at an individual user level to guard against repetition.
It’s actually a really thrilling challenge, and we’ve been working on almost nothing else for the last month.
And we’ve also found a solution.
I’d love to tell you what it is, but then I’d have to kill you. Surely I’m allowed to keep some trade secrets now, aren’t I?
I’ll give you a little clue.
We’ve concluded that to solve this at the most fundamental level, and make stories that people genuinely love to read, we need to introduce humans into the loop.
Because it turns out that the best judge of a story’s quality is… another human.
Anyway, I’ve said too much, so I’ll zip it there.
The Art of Patience
One of the things I’m learning as a tech product owner (does that sound too grand?) is the art of patience.
You can do everything really fast with AI these days, but real problem-solving still needs to be done slowly and methodically, using your actual brain.
That means there’s a hard limit to the number of problems you can diagnose, solve and ship in any given week.
For example, the new app redesign we finished back in August (which I’m absolutely chomping at the bit to get out) has been completely shelved whilst we work on story quality.
I’ve also totally redesigned our onboarding and created a brand-new system of comprehension exercises that we’ll give people after they finish reading a story.
But has it been shipped?
Alas, it has not.
It’s all been lovingly crafted in my head and then left on a shelf, gathering inches of dust with every week that passes.
A little bit like those CIA archives you see at the end of deep-state films, with a data centre-sized warehouse with boxes piled high as far as the eye can see.
Except in this case, I hope it won’t have to wait 80 years to be declassified.
I’m such an impatient little thing, you see.
I love to see my creations out in the world.
But I also know the importance of solving the main problem. Of keeping the main thing the main thing.
(Which, incidentally, is the title of a chapter in the new book I’m writing, which I’ve also been toiling away at in the background.)
You didn’t think I was just chilling out, sipping negronis in my free time, did you?
Far from it.
I’ve been a very busy boy indeed.
Vibe-Coded Apps Try to Do Too Much
Which brings me to the last part, which is more of an amusing take on AI products.
So many people have been showing me their vibe-coded apps recently.
At first, I was really impressed by just how much can be vibe coded these days.
But the more I’ve seen, the more I’ve realised there are a few really fatal flaws.
First of all, everyone’s trying to do far too much.
People are cramming their apps full of features simply because they can.
Often, I reckon it’s because Claude literally asks, “Hey, would you like me to add this?” and you say, “Why not?”
This proves to be an absolute nightmare from a UX perspective.
And you don’t know what horrible UX looks like until you start looking at other people’s vibe-coded apps.
But more importantly, I think the way to make AI apps work, vibe coded or not, is to focus on:
Solving one very narrow problem well!
A lot of established software businesses are getting nervous about AI, for lots of reasons, as you might imagine.
But, while it’s true that someone could go out and vibe code a new version of Salesforce over the weekend, that’s not actually the threat.
It’s much more likely that a company won’t try to vibe code the whole of Salesforce.
Instead, it will build a much smaller, narrower piece of software that does the one function it actually needs Salesforce for really, really well.
My point is that the way to succeed with software, if that’s what you decide to do, is to be extremely narrow about the problem you’re trying to solve.
In the case of the StoryLearning App, for example, I believe we win if we succeed in one very specific area:
Creating the best foreign language reading experience on the planet.
Think of it like this…
We could do an absolutely awful job of everything in the app.
It could look like a dog’s behind, be super clunky, and offer virtually no additional features at all.
But if users get stories they love, stories that help them improve their language skills, guess what?
They’re going to use it and love it!
So if you’re inspired by what I’m writing about here, and thinking of ways to evolve your business with AI and software, I highly recommend you create a very clear thesis for the specific problem you’re looking to solve.
Then get busy solving it as well as you can, while cheerfully ignoring absolutely everything else.
One implication of this is that you’re not going to be sitting there vibe coding new shit all the time.
You’re going to build one thing and then spend all your days getting better and better at that one thing.
Which is not the kind of fun, magical, vibe-coding experience people are looking for.
.
.
.
That’s enough from me for today.
Here’s a picture of me in the back of a tuk-tuk in Bangkok last week.
It was great fun, and something I intend to do again soon.
Namaste,
Olly
