Pricing for indie vibe coders — going from free to paid
How to introduce paid plans on a vibe-coded app without breaking trust or pricing yourself out of relevance.
Most vibe-coded apps launch free and stay free until the bills hurt. That is fine for a hobby, but if you want the app to be a real thing, eventually money has to come in. Here is how to make the transition without losing the users who got you here.
Free is a strategy, not a default
The first thing to decide is why you ever offered the app for free. If the answer is "I had not thought about it," that is a problem. Real free tiers exist on purpose:
- Acquisition. Free is how you get people in the door. They convert later.
- Wedge. Free for the easy use case; paid the moment it gets serious.
- Network effects. Free for the producer, paid for the consumer. Or the inverse.
- Generosity. Some apps are too small to charge for. That is a legitimate choice.
Once you can say which of these is true, pricing decisions get easier.
Charge for the second thing, not the first
The single best pattern for indie pricing: keep the original value free, charge for the thing that comes after it.
If your free app converts a PDF to images, paid is bulk conversion, OCR, or saving history. If your free app generates a marketing copy draft, paid is the team features and the export integrations.
This preserves the trust of the early users who came for the original thing. They are not being kicked off; they are being offered more.
Three prices, not seventeen
Indie apps do not need pricing pages with twelve tiers and a comparison table. The pattern that works is roughly:
- Free. Generous enough that someone can fully evaluate the product.
- Pro. One paid tier. A clear monthly price. Removes the limits, unlocks the team-y things, includes priority support.
- Custom. A "contact us" tier for the rare big customer. They will write to you regardless of whether this exists, but having it on the page signals you are open for serious business.
Most users will be on free or Pro. You do not need to optimize the long tail before there is a long tail.
Pick a price you are not embarrassed by
The most common indie pricing mistake is going too low. A $4/month plan tells your customers the product is not worth much. It also makes the math impossible — you would need a thousand paying users to cover modest costs.
Look at what comparable tools charge. Then charge in the same ballpark. If you offer a service that competitors charge $20/month for, you can probably charge $15. You cannot meaningfully compete by charging $3 — you can only convince customers to leave when prices normalize.
Make the upgrade obvious, not pushy
The right place to mention paid is at the moment the user is about to hit a limit. "You are about to hit your free monthly quota. Upgrade to keep going." Not at the top of every page. Not in a modal every session.
Trust is the thing you are protecting. The user who got value yesterday and got nudged today is in a good mood when they upgrade. The user who has been begged for money all week is not.
Refund quickly when asked
Indie apps live and die on word of mouth. A refund costs you a one-time payment. A bad story costs you reputation for years. If someone asks for a refund, give it cheerfully, even if your policy says you do not have to. Especially then.
Money changes the product
Once you have paying customers, the product is no longer just yours. They will have opinions. They will report bugs faster than free users did. They will ask for features. This is good — it is a signal that they care — but it is a different mode than the free-launch phase.
Plan to spend more time on support and less time on new features. That is the trade. It is also how the app graduates from a project to a business.