From side project to FitPrep Pro: what I learned asking people to pay

FitPrep began with a promise I kept breaking. Every Sunday I'd tell myself this week I'll eat properly: cook the dal, boil the chana, marinate the chicken, hit my protein every day. By Wednesday the plan was gone.
So I built an app for myself. A weekly plan, a list of meals to tick off, a streak to protect. Then friends started using it, then friends of friends, and FitPrep slowly turned into a real AI diet and gym tracker that lives on the Play Store.
This week I did something that scared me more than any release: I asked people to pay for it. This is the story of FitPrep Pro.
The best part of the app was also the hardest to keep free
The feature people loved most was the one I almost didn't build. You answer a few questions (your goal, what you eat, your budget, how long you can cook) and AI builds you a full week of meals in your own food style. Snap a photo of your plate, and it tells you the calories and protein.
That magic isn't free to run. Every plan, every recipe, every photo scan is a call to an AI model that I pay for. While a few friends were testing, it didn't matter. As more people joined, it was clear that FitPrep could either stay free and slowly become unaffordable to run, or ask the people who get the most out of it to support it.
What I promised myself before adding a paywall
I've used apps that lock your own data behind a subscription the day the trial ends. I hate that feeling, so I wrote a few rules before writing any code:
Your data is never held hostage. Tracking meals, water, workouts and your streak stays free. So does backing it all up.
Pay only for what costs money to run. The AI features are Pro. The everyday habit tracking isn't.
Let people feel it before they pay. Nobody should have to guess whether Pro is worth it.
Pro ended up being exactly the "smart" part of the app: the AI plan builder, recipes and prep steps for every meal, more photo scans, a full year of insights and sync on two phones. It's ₹149 a month or ₹999 a year.
Why new users get two free weeks

A diet plan only proves itself when you've lived with it for a while. Day one is exciting. Day four is when you find out whether the meals fit your life, whether the grocery list matches your kitchen, and whether you actually open the app at lunch.
So every new account gets 7 days of Pro the moment they sign up, with no card and nothing to cancel. If you choose the yearly plan, Google Play adds another 7 free days before the first charge. Two weeks is enough to see your first real progress, and that's what I want people to judge FitPrep on.
What building it taught me
For the developers reading: FitPrep is an Expo / React Native app with a small Fastify API and Firebase. Adding Google Play subscriptions looked like a weekend job. It wasn't, and a few lessons stuck with me.
The server decides, never the phone. When someone subscribes, the app sends the purchase to my server, and the server checks with Google that it's real before unlocking anything. One function on the server answers "what can this person do right now?", and everything, including my own admin panel, reads from it. When there's only one place that decides, it's much harder for things to disagree.
The small print matters. Google refunds a new subscription if your server doesn't acknowledge it within three days. Miss that one step and people get Pro for free while you wonder where the money went.
Order your launch steps. I switched on Google's subscription notifications before the server code that receives them was deployed, and watched my logs fill with failed retries. Deploy first, connect second.
Read your own logs. While fixing that, I noticed my request logs were printing a secret key in full. Nothing bad happened, but the logs now hide anything that looks like a key or token.
Simple beats generous. I'd planned a special "thank you" period of free Pro for everyone who had tested the app. It sounded kind, but it meant three different kinds of free Pro, each with its own end date and edge cases, and the screens started to disagree with each other. I dropped it. One clear rule for everyone is easier to trust, for the people using the app and for me.
To everyone who tested FitPrep
A huge thank you. Your bug reports, screenshots and honest "this is confusing" messages shaped almost every screen in this app. FitPrep is better because you put up with its early days.
What's next
Now comes the part I can't build: finding out whether FitPrep is worth paying for. I'll be listening closely to what people love, what they skip and what makes them leave, and I'll write about it here.
If you've been meaning to sort out your eating, try FitPrep free for two weeks and tell me honestly what you think. I read every message.