Precisely no one has asked me how Cloakist got to $400 MRR in 5 months, probably because it's not a particularly impressive outcome. But I am still quite proud of this very modest level of success, and there are a few things that my ex-co-founder Alex and I did along
Precisely no one has asked me how Cloakist got to $400 MRR in 5 months, probably because it's not a particularly impressive outcome.
But I am still quite proud of this very modest level of success, and there are a few things that my ex-co-founder Alex and I did along the way which I think helped us a huge amount.
If we hadn't done some of these things, I'd probably be staring at a big fat zero right now.
So even though no one asked for it, here's my humble contribution to the cringeworthy genre of 'How I'm the biggest SaaS baller since Marc Benioff':
We found a problem that 1,000s of people have
I say 'we', but actually I can't claim credit.
Before I joined up with him to found Cloakist, Alex had spent days trawling the forums of popular pieces of software looking for problems that their users were complaining about.
Not just complaining about, but angry about.
That's when he stumbled across this 9-year old issue on the Atlassian product forum. Thousands of votes on it. Hundreds of comments. Tons of angry Atlassian users who have been waiting 9 years for Atlassian products to exist at their own domains, instead of always at an atlassian.net subdomain.
And that wasn't all. The more we started looking around, the more products we found with forum threads of users complaining about the lack of support for custom domains.
ClickUp, Airtable, Trello, Calendly, Knack, Adobe Spark, Microsoft SharePoint, Microsoft Sway, Google Forms, RoamResearch.
Sometimes the problem was phrased as custom domains, and sometimes as whitelabeling or branding links. But however it was phrased, it was the same thing.
Lesson 1: I'm not saying you need to find a smoking gun like the Atlassian issue. But ideally you would have 1) a very clear problem 2) evidence that at least hundreds, if not thousands of people have this problem.
We hacked a popular product's Slack channel
OK, so we knew a bunch of people had our problem.
We also knew, via Alex's technical know-how, that we could probably solve this problem for people using AWS CloudFront.
But how to convince someone that they should pay us to solve it?
There was a place where people were complaining about a lack of custom domains for a product they used...
...and we could instantly DM them in that place offering our service, AND give them customer support at the same time.
That place was the RoamResearch Slack.
RoamResearch is an incredibly popular note-taking app – users are said to be part of the RoamCult – and many people use it to expose their notes publicly, i.e. to blog.
But RoamResearch doesn't have support for custom domains, and many users were complaining about it.
So we messaged them directly telling them we could set this up for them, and that's how we got our first 4 customers. We charged them just $5/m, but we didn't care – we were just so over the moon that someone was paying us!
Lesson 2: I'm not saying we beelined for the RoamResearch Slack. It was just one of many things that we tried out. But if you can somehow make a product that solves a big problem for hyper-engaged users of a sexy new SaaS platform, then it's going to give you a headstart. And if you can find your way into a community which lets you search for people with that problem, and lets you contact them immediately, even better. Those users are all about trying new things to get more value out of the platform that they've fallen in love with. And...they are early-adopters by definition, because they're trying that platform out. So they might well try you out too.
We didn't write code until someone paid
I can't overstate how important this is.
We found our first ever customer, Julie, via RoamResearch's Slack. Only then did we try to make Cloakist work.
Of course, we had a very good hunch – from playing around — that we would be able to put Julie's RoamResearch blog at her own custom domain. But it was nothing like a working product. There was so much left to do still.
So we got to work on it. And after 2 days, the code was ready. But even then, you could hardly call it a product:
There was no place for the user to log in
No place for the user to change their settings
Everything had to be done completely manually by us in AWS
And that is how the product still is.
Because there is no point in building anything more until Cloakist has so many customers coming in that it's impossible for me to manage them manually.
And as evidence for that, only 1 person has said they wouldn't use Cloakist because there's no nice dashboard. (And I don't really believe them.)
Sometimes I think to myself, hm...should I see if Cloakist would work for X platform that I haven't tried it on yet?
My mouse starts moving towards VS Code.
And then I stop and think: huh, this is a HUGE waste of time unless someone pays me first. So I go and set up a landing page for that platform instead of trying to build the solution for it.
Or, conversely, sometimes someone comes in out of the blue and pays to use Cloakist on a platform I'd never even heard of. And then I'm in the best situation ever: I have a technical problem ahead of me with a guaranteed revenue stream attached to it if I manage to solve it.
Lesson 3: stop! Don't build! Please, please validate your product with someone's credit card in your Stripe account before you even consider writing a single line of code. Once you get into coding land, it can be addictive. Hard to stop until you've made 15 pointless features no one asked for. Wait for the credit card to come first. Or if credit card is not realistic, some reaaaaally strong sign of intent.
By the way, it's worth noting that this only works if your problem and your solution are really clear and possible for you to build. Early on at my previous startup, Stacker, we fooled ourselves into thinking people wanted our product after a really successful Product Hunt launch. But it turns out that we were promising a utopian product with no clearly defined scope and which would have been incredibly hard to execute on properly. So the launch was essentially worthless.
We posted everywhere that people have the problem
This might seem obvious. But looking at our traffic and customers, I can tell you that a huge amount of our revenue has been due to posting about our solution in every conceivable Reddit thread, product forum, Slack channel, Twitter conversation etc.
A lot of these places (except for Slack) have amazing SEO. Reddit is frequently top of the rankings when I myself search for a product I'd like to use. So it makes complete sense to get your product mentioned in those places.
One way of going about this could be to google your problem, see what's at the top of the search results, and see if you can 'hack' it by posting on those pages.
Another could be to use Syften and add filters for the problem you're solving, so that every time someone mentions it, you can go there and post saying that you've got a solution for them.
You'll note that I don't mention Product Hunt here. That's because although it's good for a kickstart, we didn't get that many customers through it, and not that much evergreen traffic either. It also is a huge energy-consumer. Both in the time it takes to do it, and in the time you'll be obsessing over every vote once you've launched.
Lesson 4: Post your product until your fingers bleed. Don't waste too much time on Product Hunt launches. If you do launches, time-limit them.
Onwards and upwards?
It's amazing to think that even with us approaching our startup in what we thought was the most YC-esque way possible, addressing a problem which we know thousands of people have, we still only have 30 customers.
It's just really, really hard to make startups work.
Am I barking up the wrong tree? Am I nowhere near product-market fit? Maybe. But the only way I'm going to find out is by keeping on pushing Cloakist as hard as possible, every day.
Would love to hear your thoughts – follow me on Twitter or message me via the live chat if you feel like it.