May 9, 2023, 8:01 a.m.

The Adventures of an Indie Hacker: Learning to Choose Frameworks the Funny Way

Building a SAAS application with the latest tools and technologies is like diving into a candy store, but sometimes, it's like going through a haunted house. As an indie hacker, I'm one of those curious developers who can't resist exploring new languages, frameworks, and tools. I mean, who doesn't want to stay updated and hip with the latest tech, right? Using languages and web-framework based on surveys like this and this for building applications would make me feel good and updated. But little did I know, it's like walking through a maze full of twists and turns, and it can give you a headache.

Learning to Choose Frameworks the Hard and Hilarious Way

My primary app right now is Hellokea. It's like a Swiss Army Knife for indie hackers, with all the features to market their products with ease. But building it is no piece of cake, especially when you're a one-person band. I've tried two different frameworks to build it, and boy, what an adventure it was.

Phoenix Framework - Like a Phoenix Rising from the Ashes

If you're from a Ruby on Rails background, you'll love Phoenix. It's like Rails, but with a twist. But the lack of libraries for doing tasks makes it hard to build web applications on your own. As an indie hacker, you want to get things done fast. That's why I stopped development with Phoenix. But hey, if the ecosystem gets rich with all the libraries, I'll go back to Phoenix like a phoenix rising from the ashes.

Nodejs Wonderland - Welcome to the Mad Tea Party

No one can deny that Nodejs is a treasure trove of third-party libraries and frameworks. So, I jumped right in and started building applications with Express, Postgres, and Vue. The backend was handled by Express and Postgres, while VueJs took care of the frontend. It all looked so tempting and easy to use. I've had some experience with Vuejs before, and let's just say it's quite expressive and quicker to build things than my morning cup of coffee.

The best part of the javascript world is the vast array of libraries and tools available. For handling tons of inbound emails for the helpdesk system, I found Haraka to be a battle-tested email framework that did the job perfectly. One could easily add a plugin to handle certain tasks and hook that up with your stack. With all this, it was a cakewalk.

But then came the upgrade. When it comes to upgrading the javascript ecosystem, it's like crossing your fingers and hoping for the best (at least for me). You never know what's going to break. Sure, you could say that about almost all frameworks, but with Node, I made the mistake of choosing heaps of libraries for quickly building Hellokea. Upgrading every single library you've used is a tedious task. And, it didn't stop there. I also had to update my frontend Vuejs. Finally, I just got tired and lost interest. Lesson learned - don't go down the rabbit hole of too many libraries.

Python and Django - The Holy Grail

Finally, my hunt ended with Python and Django. It's like finding the Holy Grail after going through a long quest. With its rich libraries and tools, building Hellokea is like walking in the park. So if you're an indie hacker like me, take my advice and stick with what works.

Why Django?

Choosing Django has been one of the best things I've done in my development journey! With almost all the built-in features I needed for this project, including authentication, views, middleware, and admin, Django has made my life so much easier. It's like having a trusty sidekick that takes care of all the heavy lifting!

What's even better is that Django's built-in features make updating projects a breeze. No more worrying about compatibility issues with third-party libraries, because Python has an extensive library collection that works perfectly with Django.

And speaking of libraries, I'll be writing more tech posts soon on some amazing ones, like BeautifulSoup and inbound email handling. Stay tuned for some serious geeking out!

The whole helpdesk system is now complete, and it's purely built with Django and Htmx. So, if you want to save yourself from the maze of twists and turns while building an application, choose Django! Trust me; it's like having a superhero by your side, always ready to save the day!

 

March 28, 2023, 2:19 a.m.

It's been a while without a post. When you are the only developer building a fort, things could take some time and you might get too involved in things that need attention. The best part is that things are getting so pretty well in the shared inbox. And, of course, totally lost my time writing posts and marketing. Most indie hackers would argue that one needs to spend a lot more time on marketing content than building a product. I am currently in the stage where getting the product with basic functionality. Development in software is a never-ending process and I do agree that splitting time wisely over content marketing, which I totally depend on, and programming is crucial from the beginning. 

For the current stage, It's better to have someone nearby to work solely on the content for building this brand. The current trend and the best way to handle is through ChatGPT. ChatGPT could write you a post with all the requirements. It's truly a leap ahead without a doubt. But, should I use that for my posts? It would eliminate half of my hassle handling the marketing. Do I really need to push my product in that direction?

Customer Interaction

Hellokea's main objective is to have better communication with all your followers and customers. Having said that integrating tools like ChatGPT will completely remove the human touch in engaging with your patrons. Think about a scenario where a customer asks a genuine question about the product and gets an automated reply from a robot. Yes, it answers his/her queries but will he/she feel connected to the company or the product? This exactly is what I would like to handle correctly. From my previous experiences, I can assure you, people buy products from small businesses not just for their features or rapid development cycle. It's for human interaction.

As I mentioned in this post, writing could be fun and creative when done by humans. Though I am still not great with humour in blog posts, I believe, someday I would be able to achieve that 😜. Of course, this blog might not have a plethora of textual content, but surely it will grow over a period of time to a worthy readable one.

And, before you go, check out the changelog. We have added cool new features and it's almost there for a silent launch.