Disclaimer: This article is solely based on my personal experience and does not provide any financial, legal, or entrepreneurial advice. The results and outcomes of other individuals who undertake similar endeavors may differ significantly.
🚀 2 Apps Published
💰 $5.9k Total Revenue
📈 $450 MRR
⬇️ 11.3k App Downloads
👥 3.4k Twitter Followers
My name is Sebastian. I'm a 29-year-old software engineer from Germany. Last year, I decided to leave my full-time job as a software engineer in a middle-sized German company and dedicate one year to building my projects.
Why did I do that? We need to get back in time a little bit to find the reason: While I was still in university, I stumbled upon an online community called Indie Hackers and immediately became fascinated with the concept of creating my projects and selling them online to people I've never met before. I listened to almost all available podcast episodes and became encaptivated by the concept of building a small, sustainable business just for myself (without taking funding or employing people).
However, after obtaining my degree, this idea took a backseat. I applied for several jobs and ultimately landed a position as a software engineer because that's what people do after university, right? I was pretty happy with my job there. I had the privilege of working with a lot of cool people and interesting technologies and learned a ton about programming, agile project management and the real world in general. But, after spending three years in the industry, and two of those years working remotely due to the COVID-19 pandemic, I felt the burning desire to do something different, be creative and try out the indie hacker lifestyle before I turned 30.
So I finally decided that it was time to pursue my dream of dedicating a full year to indie hacking. I had nothing to lose: I was still relatively young, with no major financial or family obligations, had some savings to fall back on, and knew that I could always find a job as an experienced software engineer again. I realized that if not now, then when? So in April 2022, I took the plunge into the big indie hacker ocean.
Contrary to what some might assume, my primary goal wasn't to make a substantial amount of money. Having read up on various indie hacker journeys, I was aware that generating a sustainable income within one year is a daunting challenge, and building a profitable business is no easy feat.
Instead, my primary objective was to have fun, be creative, and build something for myself. If my apps yielded a financial gain, that would be fantastic, but if not, I was happy with the satisfaction of creating something I could call my own. Therefore, I didn't have any specific plans or goals that I aimed to achieve which would decide whether I continue this journey full-time after the 12 months or not.
One of the most challenging aspects (at least for me) when starting was deciding what to build and selecting an interesting idea. As I soon discovered, the best product ideas often appear while actively developing something. I opted for the first concept that met the following criterion: it solved a problem I faced, and I had a personal desire to use the application myself.
As someone enthusiastic about weightlifting and is interested in bettering my fitness levels, I decided to build a workout tracker to help me stay on track and accountable. I had previously tried numerous other workout tracking apps but none of them met my specific requirements. Either the design or the UX was not quite to my taste (I am very picky about that), or important features were missing.
So my first app needed to be a mobile application and after sketching out the basic screens and deciding on a name (Liftbear), I started to build it with Flutter and Firebase. As a payment provider, I used RevenueCat and for the landing page, I used Jigsaw. Although I had to learn a lot of new technologies because I never used them before in a real project, I'm pretty happy with the stack I picked and even up to today haven't paid a lot of money for all this amazing infrastructure and tools.
Although the initial response to the app was rather calm, and user growth has remained slow, I was proud to have designed, developed, and launched an app for both iOS and Android single-handedly. That was the most crucial achievement for me. After that, I spent the next six months after the initial release, pushing several updates and improving the app.
Although developing all these cool updates and new futures helped me get a lot of general experience in the mobile app development area, that was a hard time for me (mentally) because I became a little bit frustrated with the slow growth of my app and constantly questioned myself and my decisions. After getting Liftbear in a state where I could maintain it easily and no important features were missing anymore, I decided to try something new and build a second app: HabitKit.
With HabitKit, I treated the whole process as a "small experiment" and granted myself a timeframe of roughly four to six weeks to develop and publish the app. I used roughly the same stack as the one I used for Liftbear, with a (big) exception: I wanted to reduce complexity and switched from using Firebase to just a local database (Isar). For the landing page, I used Astro and Tailwind CSS.
As usual, I documented the entire development process on Twitter and when I shared a picture of the app's primary screen, it generated a significant buzz, and people loved the design and concept. In total, the post accumulated 72k impressions, almost 800 likes and a whole bunch of people messaging me that they want to try the app. The positive feedback and increased impressions and followers served as a significant motivator, spurring me on to complete the rest of the development process.
On November 27th, I finally released the first version of the app. It was an exciting day for me: I sat all day in front of my computer, messaged people on Twitter and even watched the first sales come in (I made over $100 in one day!). That was a super cool feeling for me and it was the first time I had experienced some kind of financial success with building and selling (copies of) my apps. I began making money through subscriptions and lifetime purchases and accumulated quite a lot of downloads. Up to this day, the numbers are still growing and people are buying my apps. It feels like a testament to the value that my app provides to its users and I am proud about that.
I got (and still get) a lot of feedback and awesome messages from users and I started to incorporate all of this valuable input into the app by adding new features, such as notifications, streaks, widgets, and sharing capabilities. In total, I published four major content updates for HabitKit and even translated the app to 10 different languages with the help of some very generous users.
I knew from the beginning that I wanted to share my wins, losses, and learnings with others. Although I considered blogging, I ultimately discarded the idea due to my limited time. Instead, I found that Twitter was the perfect platform to share my journey, and I'm happy that I've been able to tweet regularly. I've met so many great people, fellow indie hackers and inspirational/motivational content there and I would start tweeting about my indie hacking if I had to make this decision again.
Besides documenting my journey on Twitter, I haven't dedicated much effort to marketing. While I realize that I should invest more in this area, I currently find it more enjoyable to focus on building cool stuff and sharing it on Twitter, rather than launching email newsletters or paying for advertising. However, one marketing activity that I did undertake, and am particularly proud of, is launching HabitKit on Product Hunt and reaching 5th place on that day.
Other Cool Stuff That Happened
My apps accumulated over 200 ratings and reviews on the App Store and over 100 on Google Play.
The first time that I was a guest on a podcast, the Flutter DACH podcast. It was a huge honor and a pleasure to get interviewed about my app-building experiences with Flutter.
HabitKit was featured in the docs of a popular Flutter package: FlexColorScheme.
What's Next For Me?
As you can see from the revenue numbers at the beginning of this page, my little app business doesn't generate enough income to support a comfortable life in Germany (yet), so I've decided to return to work as a software engineer. However, I wouldn't change a single thing about the last 12 months and I'm really happy with how it all turned out. I plan to invest a lot of my free time into my app business, creating new updates for my existing apps and designing/shipping new exciting tools and apps (I have a long list of ideas for cool apps and too little time to implement them all). And, of course, I'll keep sharing everything on Twitter!
In the coming weeks, I will be working on two "Lessons Learned" articles about my journey over the past year. The first one will focus on the technical aspects of my work, including the technologies I use in my apps and how they all fit together. The second one will explore the business and mental health side of things. If you're interested in reading them, be sure to follow me on Twitter - I'll tweet about it when they're ready to go!
I am excited about what the future holds and I'm thankful for everyone who supported me over the last year. Thank you for taking the time to read this little article.
Did you find this article valuable?
Support Sebastian Röhl by becoming a sponsor. Any amount is appreciated!