I solved my biggest inner conflict while starting a project...
Hey guys 👋, hope you have been doing well and working on cool stuff. Sorry for not posting the past few weeks. But I’m back! so for those of you who were wondering, NO I’m not dead!
(I explained why I couldn’t post at the end of the issue... 😬)
🗒️ New listed Products:
Simple, privacy-friendly, cookie-free web analytics.
Alternative of: Google Analytics, Matomo, Amplitude
A best-in-class social media management platform!
Alternative of: Buffer, Hootsuite
🎉 Solved my biggest inner conflict while starting a project!
Being an indie maker, every time I started a personal project, one of my goals is to launch the product ASAP. So I mostly used no-code tools, managed servers, and when I coded, I ignored most engineering best practices.
For example, IndieHacks is built on Aritable, hosted on Vercel, and as far as code performance, here are a few metrics 👇🏼
Now I guess this is fine when you are just testing an idea or at the early stage of your product, as the primary task of an entrepreneur is to iterate and evolve fast. But as an engineer, I also enjoy playing around with different technologies, learning new stuff, and improving my skills!
So I always had an inner battle on whether to build the best version possible or launch a crapy one and iterate. But I think I finally found a solution.
Introducing OverEngineeringIndie!!
The purpose of this experiment is to over-engineer the hack out of IndieHacks. Even on this tiny project, I will use the microservice architecture and implement as many automation and best practices possible that a large system should have!
The whole thing is open source. You can check it out on GitHub.
Now, why IndieHacks?
Since it is primarily just a directory site, I won’t have to spend much time coding, and focus on DevOps!
Doing the experiment on IndieHacks will give me the opportunity to share my learnings with you guys as well. 😁
Our progress so far…
I just launched an initial version on api.indiehacks.link. Which is just a static response written in Golang.
✅ Infrastructure Setup
Ideally, I would choose all these👇 services, but that will soon get too expensive for a fun little side project!
ec2 as the server.
s3 for storing the images.
RDS for the Database.
CloudFront for CDN.
So with the help of Docker, I’m hosting everything on an AWS ec2 server and using Terraform to manage the infrastructure.
✅ Server Setup
Setting up web servers was always a pain for me, as I am not an NGINX fan! But fortunately, I recently started using Treafik and it just made my life sooo easier.
❌ Database Setup
hopefully will complete this within our next issue!
So yeah that’s where we are now! Again, the whole thing is publicly available on Github. So please check it out and let me know if you have any feedback.
📣 IndieLetter will now be published twice a month.
When I started IndieLetter my goal was to post once a week, to share new launches + an update on my learnings from building IndieHacks. But clearly, I failed! I overestimated how much I will learn within a week! 🥲
IndieHacks is not a very fast-moving startup. It’s only a fun side project that I alone am running beside my full-time job. So TBH I couldn’t find enough content to share with you guys and posting only about the new product launches didn’t feel much interesting to me. So I took some time to come up with some cool segments, one of them being OverEngineeringIndie and will introduce new ones on upcoming issues.
Maybe if IndieHacks gets bigger and more interesting stuff starts happening I will start posting more. 🤞
That’s all for this issue guys. I know this one was a bit engineering focused, which probably didn’t interest you much if you are not a developer. But I have a cool new segment coming up for all the Business and Marketing people.
So stay tuned for that and I will see you next time. Byee 👋