
After quitting my software engineering role at Amazon, I spent about a month trying to figure out what to do with my time. After taking a short break from any programming and toying with some side projects, I decided to build and ship my first fullstack app, Komonitor.
This post will be a post-mortem on the work I’ve done. I’ll discuss what went well and what could’ve been done better in the context of shipping a paid SaaS web application as an indie hacker.
TLDR: I made the first-time founder mistake of building a product with no marketing plan :). Currently suffering the consequences of that mistake.
Komonitor is a website monitoring and alerting tool. Users can run regular uptime checks on their websites and receive alerts whenever they are down. It is a very simple web app on paper. So why did I decide to dive into monitoring and alerting tools in my first major project? I don’t really know. I’m not particularly interested in web monitoring, but I do find it cool and useful. I just needed something to commit to, build, and ship.
Coming out of Amazon, I knew what kind of monitoring powered their global production services. Behind the scenes, internal engineering teams maintained complex monitoring and alerting tooling that on-call engineers of user-facing services would rely on. I know smaller companies or individual people do not have the resources to build out their own monitoring systems, so I wanted to build a service that handles it for them.
I learned more about AWS from using Lambda, DynamoDB, etc. to build Komonitor than from working at Amazon on a team whose backend and data warehouse were entirely hosted in AWS. I learn most effectively by actually building and tinkering with technologies, not by working with a preexisting repo, cloud infrastructure, etc.
Using AWS CDK with Typescript to create AWS resources accelerated the my learning and understanding of various AWS services. Typescript types and documentation tell you the relationships between AWS constructs, their parameters, and properties right inside you code editor. This accessibility had me learning AWS and using it to build a production app at the same time.
I’m not a designer, and the thought of having to do the design for Komonitor all by myself was intimidating. However, with the help of Tailwind CSS and Chakra UI, I was able to make Komonitor look pretty good. I learned how to design and build complex charts, tables, dashboards, and forms in React. The design skills I learned here will be a great asset for future projects.
There a quite a few things I wish could’ve went better, but I can’t really complain as this was my first foray into solo indie hacking. The goal is to learn and improve for the next round.
I spent September until the end of year building Komonitor without telling anybody. Whenever asked about what I’ve been up to, I’d just give a watered down answer along the lines of “my own app.” Honestly, I did this out of anxiety or a sense of shame. I felt embarrassed letting people know that I had quit a 160k software engineering job with little to no plan on how to make money other than indie develop. In retrospect, telling no one exactly what I was building made it look like I really had no idea what I was doing. On top of that, telling no one about Komonitor means no marketing was done at all.
Going forward, I will continue to build Komonitor and following products in public. It will be a challenge getting over my anxiety of putting myself out there. I’ll have to remind myself that it’s for me and my projects’ own good. I’ll post more about my projects on Twitter, IndieHackers, blog posts, etc. to drive users to my products and build a reputation for myself.
Four months to MVP launch is not terribly slow considering the scope of the work, but it’s not the best either. Ideally, I could have shipped an MVP and begun gathering feedback after about 2 months of work. In fact, I initially estimated that I’d ship out an MVP sometime in late October, roughly 2 months into the project. However, I did lose steam midway through October and was on the verge of a burnout throughout November (my GitHub contribution graph reflects this).
Funnily enough, once I shipped the Komonitor MVP, I am more motivated than ever to complete features and get it out of MVP stage. For future projects, I’ll commit to shipping an MVP early, within 1-2 months, and then iterating often. For my next project, I’m committing to have an MVP ready by February 10th, 2022.
If you made it this far, thanks! Checkout my Twitter if you want to follow my progress.
Came across this from your comment on another post - Congrats on your first users!
Also, followed on Twitter, are you open to DMs?
Thanks! And yea, DMs are open