Jibran’s Perspective
Failure 1: Django + NextJS Boilerplate
Jun 16, 2024I have failed, and that is exactly what I had hoped for a few months ago in this blog post.
This is a good failure. It has taught me things, lessons I can use in the future to avoid failing this way again.
But first a bit of context. What did I fail at?
In February of 2024 I decide to try my hands on my first “Indie Hacker” hustle, something that would make me money on the internet without having to trade my time for it. A product instead of consultancy services that I usually provide.
I had seen a number of people on Twitter (X) rave about how well their bootstrap templates were doing; and I had just gotten out of a consultancy project where I needed to connect a Next.js frontend to a Django backend. I thought it was the perfect project to start my indie hacking journey.
I put up a launch post and started working, updating a build log as I went along.
I gave myself until 28th March 2024 to finish it. That of course did not happen.
Let’s talk about why I failed and what I learned.
Episode 1: The one where I don’t understand the meaning of MVP
My initial plan was to build a Django+Next.js boilerplate template the provided all of these:
- the base template that provided a Django backend & Next.js frontend
- working authentication b/w the backend & frontend
- Dockerfile that would create the backend & frontend containers for deployment
- Terraform scripts to setup an infrastructure on AWS
- Celery + Redis for background task processing
- TailwindCSS for the frontend (comes mostly for free with Next.js)
- social auth
This looks like something achievable in a week or two of work - but only if you’re working full time on this. I failed to consider that I have a day job and a life. I was barely able to tick of the first two of these deliverables by the time my 6 week deadline came up.
As a good friend told me later, I should have focused on the minimum amount of value I could deliver. Just having the first two things on my list be done would have been enough. I couldn’t charge the $20 I had planned for, but I could have charged $1-$5 for just that.
And if no one was interested in spending the cost of a coffee on the MVP of the template, that would have been a good signal that this wasn’t going anywhere in it’s current shape.
Instead, by focusing on building something much bigger, I robbed myself of the ability to validate the idea quickly. I spent all my available time coding the template instead of trying to talk to potential customers about it.
Lesson 1: Scope down aggressively.
Episode 2: Where I jumped on the hype-wagon
I settled on building a boilerplate template because that’s what I had seen a lot of people on Twitter/X doing lately; I’m chalking this down to recency bias.
I had no personal interest in a boilerplate template. It’s also not a product that I would personally use. I have so far made one project that uses this tech stack. Most of my other projects are Django, and Ruby on Rails.
The most successful boilerplate templates I come across are from people who made a bunch of projects in 1 tech stack then realized they needed to do the same thing over-and-over again; which they then packaged into a template they could use. Selling to others was a bonus at first I guess.
I was very enthusiastic about the project at the start, but as time went on I had to force myself to work on it. My lack of interest in this type of project was a big factor.
Another factor was there being no way to see the fruits of my labor. I am currently working on an analytics dashboard for another client (a RoR project) and every time I build a feature, I love to play around with it in my free time. I test how it works, make sure the UX is a good one, and just play around and admire the app I’ve made.
Without me using my template to build new projects, I lacked that feedback loop. Without the loop, I quickly lost interest.
Lesson 2: Build something I can use myself. This isn’t a job I’m getting paid for, so the only motivation I have initially until it starts generating money is to build something interesting for myself.
Episode 3: Where I had nothing for potential customers to play around with
This is related to the 1st lesson. Because I didn’t have a path to quickly get something out there, there was no way for me to get my “product” into the hands of people who could test and provide feedback.
I think the problem with a boilerplate template style of product is that you can’t give people a half-backed thing and ask them to test it. Unlike other SaaS apps, there’s no mid-way version of a template. Customers have to “buy-in” to use your template with any project they are starting. With SaaS, users can sign up and test, and then leave if they don’t like it. There’s no easy way of testing with a template.
Lesson 3: Build something that can be tested by potential customers easily. For now, I’m going to stick with SaaS style web apps.
Conclusion
Moving forward:
- I’ll be working on web app products that users can sign up for and test very quickly.
- My next few experiments/products will be things that I can use myself as well.
I’ll post what I’m going to work on next when I decide and have some time away from my job & freelance projects that are currently in progress.