This week was a duality of extremes for me. On one hand, I experienced an unprecedented growth spurt in my user numbers, while on the other hand, I stumbled into frustrating scarcity and infrastructure problems.
That’s entrepreneurship for you: big wins while struggling to not lose control of the whole thing.
The juxtaposition of these two experiences in a single week was both challenging and enlightening. Today, I want to share the story of navigating the good and the bad simultaneously.
Now, let me start with the good news. On Tuesday night, Pieter Levels decided to give Podscan.fm a try. I had tweeted about how Podscan found a mention of itself in a podcast, and Pieter saw it, set up an account, and immediately got his first mention. He was impressed enough to then tweet about it to his 300,000 followers.
The Levels bump.
This shoutout led to a 50% increase in my user base within 24 hours, from 1,000 to 1,500 users. It was incredible to see so many people, including several of my tech and founder heroes, start using Podscan.
Pieter Levels is known for being very selective with his endorsements, so when he praised Podscan, it carried significant weight. His tweet read somewhere along the lines, “Just tried and within minutes got alerted about a podcast mention. Super impressive!” This kind of organic endorsement from someone so influential was a game-changer.
Immediately after his tweet, my user registrations skyrocketed. It wasn’t just the sheer number of new users that was astonishing, but also the caliber of people signing up. My indie hacker heroes, several tech millionaires, founders of venture-backed startups, and many of my personal dream customer list candidates in the tech industry began using Podscan. It felt surreal to see names I admired appear in my user list.
This influx of new users brought valuable feedback and plenty of feature requests (which I used for validating my own assumptions about their Jobs to Be Done). It was a moment of abundance and immense motivation for me. Each new user brought a fresh perspective, and their insights were invaluable. I engaged with them through emails and customer support so I could learn about their needs and how Podscan could better serve them. It was pretty clear to me that this growth spurt was not just a temporary spike but a massive opportunity to refine and enhance my product based on real user feedback.
What made this moment even more special was seeing how quickly people recognized the value of Podscan. Pieter, for instance, has a name that is often misspelled. He immediately included these common misspellings in his alert settings, and shared that as a screenshot. This level of immediate utility made a significant impression on new users, solidifying their trust in the product.
So far, so amazing.
However, this was only one side of my week. On the flip side, I was grappling with the challenges of building a full-text search feature to replace the current search engine.
And it just wouldn’t work.
My database, with hundreds of gigabytes and millions of rows, was too large to handle efficiently. I recently attempted to add a full-text index so I could run searches more independently. But trying to do this in production led to significant performance issues.
D’oh. Of course it would. I was VERY optimistic when I tried that.
The database would lock up, and the speed of queries drastically decreased. It was a frustrating and time-consuming problem.
I even learned about blue-green deployments on Amazon RDS and the percona SQL toolset. I made schema changes, hot-swapped the databases, and even ran it on a much bigger box.
Nothing seemed to work.
To give you a sense of the scale, imagine a database table with tens of millions of rows filled with giant chunks of text data. Searching through this data requires an immense amount of processing power and memory. Initially, I tried creating regular indexes on the data, hoping this would speed up the search process. Unfortunately, the sheer volume of data meant that even with indexing, the performance was subpar.
Then, I attempted to add a full-text index, which is designed to handle large amounts of textual data more efficiently. This process, however, was fraught with challenges. The first issue was that creating the index itself took an inordinate amount of time. The indexing process would sometimes lock up the database for hours, making it inaccessible for other operations. Even when the index was finally created, the performance improvements were marginal at best.
The breaking point came when Meilisearch, the tool I was using for search outside of MySQL, started locking up due to excessive indexing. Meilisearch is a powerful search engine that can handle large datasets, but my setup was pushing its limits. I voiced my frustrations on Twitter, and to my surprise, the CEO and CTO of Meilisearch reached out to help. Not only did they provide a solution but also guided me on how to deploy the fix without needing a full migration.
That was unexpected.
And it made me rethink my whole approach.
Their support and responsiveness were phenomenal, transforming my scarcity mindset into a problem-solving opportunity. Instead of running away from the issue, why not tackle it and fix it for good?
In parallel, I faced another —related— infrastructure issue. My current Meilisearch instance, like my database, was growing rapidly, and the server’s hard disk was nearing capacity. Hetzner, my hosting provider, didn’t offer a larger SSD option for their cloud instances, and AWS was also proving to be inadequate for my needs.
So I thought I was out of luck.
But hey. Growth mindset. Let’s not allow scarcity to drive decisions.
I noticed my view on all of this was narrow and limited. How could I zoom out and look for the non-obvious solution? And when I let go of what I thought my options were, a thought struck me: “cloud” isn’t the only place I should look.
And Hetzner is a place where cloud stuff is just one of many offers.
It’s funny: the solution was staring me right in the face. Because over the last 10 days or so, I migrated my whole transcription server fleet into dedicated GPU-based servers on… Hetzner!
Quick story about that. Two weeks ago, I was looking at $16.000 in monthly expenses for GPU compute. Transcribing all podcasts everywhere isn’t the cheapest thing to do. But I knew there was savings potential. So, as I always do, I tweeted about it, and people suggested dozens of platforms and approaches to me.
One was Hetzner’s GEX44 dedicated server, which is a 14-core, 64GB RAM machine with an NVIDIA RTX 4000 SFF Ada Generation GPU… for under $200 a month.
That… was less than one third of what I was paying per GPU for a slightly more efficient card before. I ordered one immediately, set up a few tests, and did some quick math. If I were to migrate my server fleet over, I could push the $16.000 down to $9000. I could save $7000 per month just by switching over to these dedicated servers.
So I did — now, I run 30 of these servers in parallel on Hetzner.
And they’re excellent and very cost-effective — something I was also looking for as infrastructure for my search server.
And when that clicked in my mind, I explored their dedicated server options further.
I found a Hetzner server with a four-terabyte RAID 1 mirror and a massive amount of RAM, perfectly suited for my needs at a reasonable cost. Just $300 a month. On AWS, this would probably be at least 5 times that.
This server would future-proof my infrastructure (for at least a good year or so) and allow me to provide reliable service to my customers. The decision to move my Meilisearch instance to this new server is a turning point, as I am leaning into Meili for search and walk away from trying to force my main database to also be a search engine.
Amid these technical challenges, another incident underscored the theme of my week. Just minutes after Pieter’s tweet about Podscan, Postmark, the service I use for email verification, experienced an outage.
Perfect timing, right?
If there is one email you want to be sent quickly, it’s the account verification email directly after someone signs up.
Well, not that day.
This delay in sending registration emails was incredibly frustrating, and it really highlighted our dependency on external services as solopreneurs. Timing couldn’t have been worse. Imagine the frustration of new users eagerly waiting to verify their accounts, only to experience delays. It was a lesson in how external factors can impact user experience — and how little I can do about it.
But it worked out. I added a reply to Pieter’s tweet, as that was the source that funneled people into Podscan. I got like 3 complaints about it.
Despite these setbacks, and maybe because of them, the week was filled with learning opportunities. From Pieter’s tweet, I gained invaluable feedback from new users, allowing me to refine Podscan. My struggles with full-text indexing taught me about the intricacies of SQL, indexing, and various search engine technologies. I discovered new tools like Sphinx and Manticore, and expanded my knowledge and options for future projects, inside of Podscan and beyond.
Additionally, I revisited my existing setup and realized that I had misconfigured some of the indexing parameters in Meilisearch. By tweaking these settings and optimizing the indexing process, I managed to achieve significant performance improvements.
This contributed to the pivotal moment of choosing to lean into Meilisearch, and it showed me that sometimes the solution lies in making better use of the tools I already have.
The real lesson from this week was the importance of embracing both success and failure as opportunities for growth. The influx of users from Pieter’s tweet opened doors to valuable customer insights. My technical challenges led to deeper understanding and better infrastructure solutions. Every setback was a chance to learn and improve, making me feel fortunate for the experiences.
In the end, what seemed like a week of contrasts turned into a week of great joy and learning. I cut my expenses, deepened my understanding of my technology stack, and discovered the value of persistence and community support. This duality of abundance and scarcity, success and failure, ultimately enriched my journey as an entrepreneur. It’s the spice that makes things interesting.
This duality reminds me that the path of entrepreneurship is rarely straightforward. It is filled with highs and lows, each offering its own set of lessons. My week of contrasts was a testament to this reality. The support from the tech community, the resilience to tackle infrastructure challenges, and the joy of seeing my product in the hands of influential users were all part of this journey.
Reflecting on the week, I realized that the key to navigating these contrasts is to maintain a mindset of continuous learning and adaptability. It’s not about “the hustle” or “the grindset.” It’s more about not cutting off learning opportunities before they come to fruition. Every problem is an chance to improve, and every success is a stepping stone to further improvement.
This mindset not only helps me in overcoming challenges but also in building a product that truly meets the needs of its users because I am motivated by them to work with and for them.
I am grateful for the experiences of this week. They have reinforced my belief in the importance of community, persistence, and the willingness to learn from every situation. As I move forward, I am more committed than ever to refining Podscan and making it an indispensable tool for my users.
This is the journey of a bootstrapped founder, and I am excited to continue this journey with all its ups and downs.
I'll share a few updates about my SaaS on the pod, and if you want to track your brand mentions on podcasts, check out podscan.fm!
Classifieds
I recently launched The Bootstrapper's Bundle, which contains Zero to Sold, The Embedded Entrepreneur, and Find your Following. If you want to start a bootstrapped business and build a validated product and a personal platform while doing it, check out this bundle. It contains all eBooks, audiobooks, video courses and extra materials I ever created. It's just $50, for now.
Thank you for reading this week’s essay edition of The Bootstrapped Founder. Did you enjoy it? If so, please spread the word and share this issue on Twitter.
If you want to reach tens of thousands of creators, makers, and dreamers, you can apply to sponsor an episode of this newsletter. Or just reply to this email!
To make sure you keep getting your weekly dose of Bootstrapped Founder, please add arvid@thebootstrappedfounder.com to your address book or whitelist us.
Want to change which emails you get from The Bootstrapped Founder or unsubscribe for good? No worries, just click this link: change email preferences or unsubscribe.
Our postal address: 113 Cherry St #92768, Seattle, WA 98104-2205
Generative AI used to be for early adopters. But now, Apple is bringing it to every iPhone. What does this mean for indie founders?
This week, I almost lost access to my database, including all its backups. Also, a full-text index brought down my product.
The SaaS Club Newsletter Hey Reader Here's a quick round up of what's been going on at SaaS Club: In this week's newsletter: 🎙️ How Missive grew to $6M ARR with no VC help. 🚀 A smart way to
Before we jump in: Every founder knows that chargeback disputes are messy and annoying to deal with. And in some crazy cases, chargebacks can even get your Stripe account suspended 😬 Well, today's
Choose wisely. Secure the tools for your biggest breakthrough in the next 12 months… Black Friday_Header_2 Hey Friend , The biggest Black Friday sale in Foundr history is here—and honestly, it feels
Plus: Noridics' & Benelux's fastest-growing startups; latest deals View in browser Sponsor Card - flagship remote Good morning there, Last week, we had a rendezvous with France's