TOC
Translated from the Chinese version by Gemini 2.5 Flash.
Over a year into indie hacking, I haven’t launched a successful product, but I’ve learned a lot.
Use Boring Tech Stacks
Most indie hackers I’ve observed come from a programmer background, and “the best tech stack for indie hacking” is a recurring topic in various communities.
In this circle, the cool kids on the block use Next.js, like Next.js + Prisma + Shadcn UI + NextAuth + Supabase. They’ll share how smooth the DX is and how quickly they can build a beautiful UI, but beneath the surface:
- These so-called “full-stack frameworks” are built for the frontend, with extremely limited backend capabilities.
- These tech stacks iterate very quickly, unnecessarily increasing learning and migration costs.
- A huge number of JS dependencies are like ticking time bombs.
- Serverless architecture is restrictive; even scheduled tasks might require workarounds (I know Vercel has this feature, but even Pro accounts have quantity limits).
- The surprise from Vercel bills.
However, users don’t care about your code. Simple tech stacks can build very successful projects:
- Pieter Levels likes to put all his frontend and backend code into one huge index.php, but his projects print money.
- Levels.fyi uses Google Sheets as a backend to serve millions of users.
So, if your technical background leans towards the backend, you don’t have to use Shadcn UI. Just stick to a backend-first approach and use boring technology: use the backend tech stack you’re most comfortable with, use a templating engine for server-side rendering, and deploy to a VPS (remember to put it behind Cloudflare CDN).
After all, writing code is just the first step.
MVP Should Only Include One Core Feature
MVP, as the name suggests, must be minimum, completed with the least amount of effort:
- Solve only one pain point at a time.
- Focus only on core features; it doesn’t even necessarily require writing code.
- The UI can be rough, simple and elegant is fine.
- Don’t design caching, message queues, etc., and don’t use K8s.
Performance, stability, and a refined UI are sweet problems for the future. Refactoring the codebase can wait until your MRR meets expectations.
Charge From Day One
Pricing strategy is also a long-debated, subjective topic.
Offering a free trial to lower the barrier to entry seems reasonable, but in practice, it’s a different story:
- It attracts customers who only want freebies.
- It adds an extra conversion step: traffic -> trial users -> paying users.
- People don’t value free things.
- Suggestions from free users may be less valuable.
Instead of offering a free trial, charge from day one, but offer a money-back guarantee if the user is not satisfied within XX days:
- It conveys confidence to the user (“This product will definitely solve your pain point”) and provides a safety net (“Even if you don’t like it, you can get an unconditional refund within 14 days”).
- It pre-filters high-risk users through payment channels like Stripe.
- If no one pays, it indicates a false demand or that you haven’t found your niche yet.
- Genuinely ask for user feedback during refunds; this feedback is more valuable.
Regarding pricing, I prefer Tibo’s perspective:
- A low price DOESN’T compensate for delivering LOW value.
- I price my SaaS in a range: $29-$99, and decide what to build, and how to build it based on that.
Fail Fast, Grow Fast
One of the advantages of indie hacking is the low cost of experimentation. And indie hacking itself has a very high failure rate.
Even Pieter Levels only made money from 4 out of his first 70 projects (https://x.com/levelsio/status/1457315274466594817).
Be a Salesperson, a Founder, Not Just a Developer
Writing code is the simplest part of indie hacking because the input-output is stable and predictable, especially with AI boosting efficiency now. Beyond coding, how to build connections and trust with customers and eventually get them to pay is a difficult question with no standard answer.
After launching the product, you need to day after day:
- Reply to customer emails and DMs.
- Manage personal and product social media, newsletters, etc.
- Optimize cold reach content strategies and discover new potential user groups.
- Do SEO.
These are all things that might not generate significant revenue for months but are essential, and they are also things that most tech people are not good at. Not to mention subsequent tasks like company registration, taxes, and data compliance.
So don’t limit yourself. Not only should you maintain the code as a developer, but you should also manage your business as an entrepreneur.