Timeline for Selling a Micro-SaaS
Since selling MealByMeal (calorie tracking via text) on Acquire earlier this year, a few people asked me to share what I've learned. I've documented most of the marketing, advertising, and SEO experiments on my Twitter, but a blog post seemed more appropriate to showcase the overall process of building and selling this micro-SaaS. While some founders with large online audiences can build and sell a website for $15k in 8 days, the timeline for MealByMeal was slightly different.
I've decided to spell out the entire process, from the first commit to the acquisition money hitting my bank account, in the form of a timeline:
First Commit
Development begins (intermittently) on mealtext.app. The focus is on evaluating and testing accuracy of extracting ingredients (and their quantities) from a description of a meal using LLMs and finding a good method of matching the ingredients to nutrition databases.
Domain Purchase
In preparation for launch, I decided to switch to a .com domain. It turns out that most nutrition-related domains you can think of are taken. I ended up getting attached to the idea of improving diet "meal by meal" and ended up purchasing mealbymeal.com for a few hundred dollars.
Launched!
The MVP is working so I start to share information about MealByMeal and post on directories.
First Paid User
My mom shares info about the launch to my aunt, who shares it with my cousin (who coincidentally is the person that got me into software in the first place many years ago). He becomes the first paid user.
First Non-Affiliated Revenue
A couple days later, I get my first paid subscriptions from two strangers. This is my first time getting real subscription revenue across any of my own personal projects. One is from Google Ads and one from the 'There's an AI for That' directory.
ProductHunt Launch
After getting feedback from initial users and polishing up the product, I launch on ProductHunt, getting #3 for the day! This jumps revenue from $37 MRR to exactly $100 MRR post launch.
Peak MRR
A month later, I reach the lifetime peak MRR of just $114.
Searchable on Google
It turned out that buying the domain was somewhat problematic. Until now, searches for mealbymeal wouldn't return the website; it would autocorrect to 'meal meal' and show just general meal-related information.
Poach Launch
I get my first revenue for one of several other projects I'm experimenting with (Poach). This starts to grow much more rapidly and serves a wake-up call that I should not be spending as much time on MealByMeal.
Listed For Sale
I decide to double down on other projects and list MealByMeal for sale. After looking into the options (Microns, Flippa, etc) I decide to go with Acquire. Their valuation tool estimated a valuation between $5-25k, so I decide to list for $20k, which at the time was an extremely aggressive 20x ARR multiple. I'm expecting to sell for about half, but I figure I may as well go for the higher end of the valuation calculator's range just to see. I build a small 'data room' file with screenshots from ChartMogul and details about which metrics are organic vs paid.
Approved by Acquire
Since I shared my Stripe revenue and list in their recommended range, approval for listing is pretty fast.
Listing Goes Live
I pay the fee and the listing goes live. Since this is around the holidays, I don't expect much interest.
First Interest
I get my first NDA requests from prospective buyers. One of them offers $4.5k (3.75x MRR). Since it is so early after listing, I pass on the offer. In hindsight, this offer was extremely reasonable and I ended up taking less.
First Call
Some of the potential buyers start to schedule video calls to discuss the product. My first call is with a VC who offers a laughably bad deal: $10k for 50%. This completely defeats the point of selling a micro-SaaS to focus on other projects, so of course I decline.
Second Call
My second video call is with an investor who also heads a software agency. There's a room full of developers on the call who are solely interested in the implementation details. They have no interest in MealByMeal and are transparently digging for information that will help them build something similar...
Price Drop
It's apparent that most of the potential buyers are not seriously interested, and the number of inbound NDA requests are decreasing. I decide to drop the list price to $10k, which is still aggressive at 10x ARR, but I'm hoping the decent domain rating, social proof, and organic traffic from some difficult to rank for directories like AlternativeTo will help the sale.
First Serious Call
My third video call is my first and only serious call. It's with a trio of marketers who are buying a portfolio of tiny software products that they then grow with their marketing expertise. They ask good questions and seemed upfront and honest. Ultimately they decided to pass, but it was the only call I took that felt worth taking after the fact.
Serious Offer
I receive a (seemingly) serious offer at $5k. They try out the product, ask specific questions, and send an official LOI through Acquire. It's a little strange that they use their own non-boilerplate LOI, but I make a counter offer for $6k.
Deal Falls Through
They decide not to accept the counter offer and don't want to continue with their original offer either. Something strange is happening with this buyer too; they end up deleting their Acquire account (or perhaps they were banned). I'm not sure if they ever would have gone through with the original offer, but something felt off about the whole thing.
Actual Buyer Reaches Out
I receive the first message and questions from the eventual actual buyer, Josh Shafley of Keenwa.
Final Offer
They offer $3.5k. I counter with $4k and a promise to 'move fast'.
LOI Accepted
They respond with an offer of $3.6k and offer to 'send it today'. This is at 3x revenue, which is also a reasonable amount for a low-growth app. After I agree, they send the LOI right away (which uses the standard boilerplate), which I accept immediately. Since we're going through the standard Acquire process which uses Escrow, it turns out that we can't actually do everything else in one day (we're both doing an acquistion like this for the first time and didn't realize).
Escrow Issues
The seller is running into issues with Escrow which requires contacting their support. This makes me feel worried the deal might fall through or (especially given the last prospective buyer) that there's something shady going on.
Funds Sent
False alarm! The issue is resolved and funds are sent right away. I make a Google Doc to track all of the assets that require transferring. It's surprising how many moving parts there are: domain, code, secrets, database contents, auth, email sending, Stripe, Twilio (phone number), other APIs, five social media accounts, ads and creative files, etc. I also removed a few dependencies (Redis, Crisp, etc) that the buyer wasn't interested in keeping.
Transfer Progress
Everything is transferred except for the database, which requires a small downtime window. There's a bit of back and forth to verify access for so many different items.
Database Transfer
I transfer a SQL dump. There are a couple of small issues that require debugging but we get everything working quickly.
Fully Functional
There's one final webhook that needed configuring, and the site was fully functional under the buyer's control.
Escrow Complete
The buyer marks everything as received in Escrow, and the money is sent over ($3.3k after the escrow fee).
Money in Bank
I receive the money in my bank account.
The whole process took 120 days from listing to receiving the money. It took much more time and effort than expected, but most of it was passive. This took four months due to my attempt to squeeze slightly more money out of a decent (but not particularly competitive) asset. In hindsight, I should have treated this as a small acquisition and listed at $3-5k. Then I could have tried to play multiple buyers off each other. Of course, it's difficult to accept that if you're selling your first SaaS that you've poured money and effort into. But buyers still treat it as a small transaction (I didn't even have a single call with the actual purchaser).
There were a few surprises about how purchasers viewed the value of MealByMeal. First of all, nobody cared about the quality of the calorie estimation for an AI-based calorie counter! I put the most development effort into this, yet purchasers (and customers) really only cared that the results looked somewhat acceptable. Secondly, I didn't realize before selling how much buyers care about a site's longevity when purchasing. For this to sell at a remotely decent multiple, having consistent revenue for a full year was necessary. I lucked out on this; I didn't intentionally wait to sell it for a year. Thirdly, my SEO efforts for the site turned out to have a significant impact on the final sale.
Was MealByMeal a failure? The experience showed how easy it was to get stuck in the weeds on a tarpit idea that really wasn't making enough money to justify the effort. The money spent on advertising and other marketing made this a financial failure, even ignoring opportunity cost. I could have saved a lot of time and money and moved more efficiently while working on MealByMeal.
But I also learned a huge amount along the way. I learned how to experiment with SEO, advertising, marketing, and landing pages. I improved my product and business intuition. Perhaps most importantly, I improved my own discipline and learned how to reach a productive daily rhythm as a solo founder.
I've been able to apply these lessons since the acquisition. In the last seven months, I went from zero to a total of $6k MRR across a few projects. So, was it worth it? At the very least, it was a good stepping stone. Meanwhile, I'll continue sharing my journey to $10k MRR (and beyond) on Twitter.