On January 9th I started exploring adding subscriptions to Place Card Me—my
wedding place card maker.
Five days later, on the 14th, I sold an annual plan. My first ever recurring revenue!
Here’s how it went down.
The Idea: A Series of Fortunate Events
I can’t take credit for the idea. In fact most of the credit goes to Courtland Allen (yes, that Courtland Allen—of
Indie Hackers fame).
A bit of backstory is needed here.
So Courtland was in Cape Town—where I live—over the holidays.
A mutual friend introduced us, and in one of those “you miss 100% of the shots you don’t take” moments,
I pitched him on recording a podcast with yours truly.
Shockingly he obliged and a few days later I was sitting across the table with one of my heroes.
Meeting the one and only Courtland Allen, founder of Indie Hackers and a personal hero of mine.
I have no idea if he’ll actually release the podcast since I was a nervous wreck and it might be terrible.
But, after we stopped recording, I asked him for some advice and two things he said stuck with me.
The first was that he thought my Master Plan timeline to achieve financial independence
was too slow. Basically, that I should be more ambitious and try to grow faster.
The second was that it was obvious to him that I should be working on Place Card Me more.
As soon as he said these things I knew he was right.
I am carving out a very “comfortable” 3-year path for myself and I could probably do it faster and better.
And I am definitely neglecting Place Card Me—my most profitable product by leaps and bounds.
Still, it wasn’t clear how to make these things actionable.
Until a few days later.
That’s when I attended an Indie Hackers meetup with Courtland as the guest of honor.
It was a who’s-who of the Cape Town Indie Hacker scene, with the founders of OnePageLove,
Submit Hub, DigsConnect, VibeScout,
Tribyst, ZA Tech, and more all in attendance.
Look at all these legends. The Indie Hackers Cape Town January meetup.
But it was someone who calls himself Andrew Startups that actually put the pieces together for me.
After hearing about Place Card Me he told me—if it were his product—he’d get the contact information of every wedding planner
in the city and try to sell them on recurring plans.
And it was the perfect idea.
Regular readers of my blog might know that I’ve been planning on building a subscription product for months—with
the end goal being to learn enough to add subscriptions to Pegasus, my Django SaaS Boilerplate.
I had set myself a January goal of launching subscriptions in a different product.
But after talking to Courtland and Andrew it was clear that doing it in Place Card Me made so much more sense.
And I was off to the races.
Day 0: Validating the Idea
I live tweeted much of my idea validation process on this thread. Refer there for details.
To validate the idea, the first thing I did was try and see how many repeat customers I had using the site already. A few SQL queries later I had the data I needed: customers ordered by number of purchases and the period of time between first and latest purchase.
Data about the top repeat customers of placecard.me.
Ignore the first row, which is people I don’t have an email address for.
This data wasn’t too heartening.
I have very few customers purchasing more than 5 templates and most of them were doing so all at once
(typically because they upload several different designs for the same event). Strike one.
Still, I decided to follow up over email with a few of the people who had purchased multiple designs over a longer period of time.
I did my best to personalize these mails and offer to add value in the form of free place cards, but to date no one has responded.
The last thing I did was add a little section to the site’s landing page to try and gather some data from potential subscription customers.
That looks like this:
My little lead magnet to get information about event planners.
The link leads to a typeform where I ask about their use case and how many
cards they typically make.
In the five days its been online I’ve gotten one response and I haven’t been able to get them to follow up on my outreach.
Does that mean I’m out?
Because somehow, magically, the very next day I got…
Day 1: My First Lead
People say “it’s better to be lucky than good”.
That was certainly the case here.
Completely out of the blue and as best I can tell unrelated to anything I’d been doing I got the following cold email.
Now, historically I might have said something about “this doesn’t exist but I’d love to build it someday”,
but now it was someone requesting the very thing I wanted to do right then.
It was too good to be true. So I did what any good entrepreneur would do: I tried to sell something that didn’t exist.
So I made up some prices on the fly and sent the following response.
I really didn’t expect this to work, but figured there was a chance. And so began…
Days 2 & 3: The Waiting Game
This was the weekend so I wasn’t expecting much movement.
I relaxed, hung out with family, and tried not to check my email every hour to see if there was a response.
Day 4: “I’m In”
Monday morning, with expectations low, I decided to follow up. And amazingly, he responded very quickly:
I would absolutely go for the unlimited/unlimited/200$ option.
Days 4 & 5: Shipping with Duct Tape
Now this presented a small problem. I didn’t have subscriptions. Heck, I didn’t even have user accounts!
It was time to do some scrambling. So I did what any good entrepreneur would do:
I worked as fast as I could to cobble something together.
So I quickly added user accounts to Place Card Me (incidentally, my experience with Pegasus made this super easy).
And then, rather than build out a whole subscription model with pricing and dates and expiry and all that
I decided to just add one field and a little checkbox to the admin UI.
This was actually all I needed!
And thanks in part to some design decisions I’d made long ago, it was actually fewer than 50 lines of code to set
it up so that if you have that box checked on your account you don’t actually ever have to pay for place cards.
Done and done!
Now all I had to do was figure out how to sell an annual plan.
Thankfully, Stripe makes that super easy!
It took a little bit of reading and research to wrap my head around their billing system, but basically you just set up a product
(“Unlimited Subscription”), pricing plan (“$200 / year”), and send out an invoice, and they handle everything else.
Stripe’s billing and invoicing product makes selling subscriptions super easy.
The Magic Moment
So I sent off the instructions and the invoice and then started waiting—and second-guessing myself.
Sure he said he was excited about the plan, but was he really going to pay?
I even started coming up with crazy conspiracy theories to explain why it wouldn’t work out.
Maybe one of my Twitter followers was just messing with me?
But, just a few short hours later the payment hit my account and he’d emailed me to let me know.
I checked the “magic checkbox” for his user account and we were good to go!
Almost three years into my solopreneur journey, my very first subscription revenue was in the bank.
A few lessons from this experience.
Having mentors and peers is incredibly valuable.
For the most part I have to lean on myself to make every decision.
This is one of the downsides of the “solo” in solopreneur.
But, having a support system and network of people to talk to and give you advice is hugely important.
In this case, my conversations with Courtland and Andrew drastically changed my outlook and focus in a way
that has been super positive for me and the business.
There is no better form of motivation than a real person.
I’ve been talking about building subscriptions into one of my products for months with zero progress.
And when it came down to actually roll something out, all it took was four hours and a bit of duct tape.
All I ever actually needed to make subscriptions happen was someone on the other side of the transaction who needed them.
Take shortcuts early on…
I could have easily gotten bogged down in the implementation details of subscriptions:
creating a data model, a pricing page, letting you purchase on my site, etc.
And I will do all of that eventually—it’s part of my plans for Pegasus.
But in the early going, just shipping something that gets the job done is way faster and in some ways more satisfying.
…but also plan for your future self.
One of the things that made rolling these changes out so quickly possible was a long series of design decisions
in Place Card Me’s code that were all working towards this goal.
I do believe deeply in YAGNI,
but also understanding what problems your future self (or future team members) might have and making proactive
decisions to help mitigate them beforehand is super valuable.
The wisdom to differentiate between YAGNI and “future-proofing” code only really comes from experience,
and is probably a life-long journey.
It helps to get lucky. But you have to recognize and capture the luck.
Ultimately my little success in this endeavor is entirely dependent on one person reaching out to me at the exact right time and place.
It’s entirely possible this will be my only recurring revenue for the year. So really, it’s all dependent on luck.
That said, I couldn’t have captured the luck if I didn’t also jump on it, do the right thing, and make good things happen.
That’s all I got! One of my four 2020 goals is already in the books.
As always, thanks for coming along for the ride.
You can subscribe for email updates below if you want follow my adventures in solopreneurship.