How I made my first $100,000 on the App Store from a bedroom in Surat
No investors, no team, no Bay Area. Four apps, one person, and a set of habits that turned side projects into a real income. Here is what actually moved the number.

The first money I ever made from the App Store was ₹1,340. Apple paid it out forty-five days after the sale, converted at a rate I didn't choose, into a bank account I had opened for the purpose. I was twenty. I remember refreshing the App Store Connect payments page the way other people refresh cricket scores.
Six years later the same account has crossed $100,000. Not in one month, not from one hit, and not from a growth hack. It came from three apps, a lot of unglamorous iteration, and a handful of decisions that I now think were the whole game. This is the honest version of how it happened, written for the person I was in 2020, sitting in Surat with a laptop and no idea whether indie apps were a real career or a hobby with an invoice.
The first app taught me the wrong lesson
My first paid app was a utility. It solved a problem I had, it took three weeks, and it sold about forty copies a month at ₹99. I was thrilled. I also drew exactly the wrong conclusion from it: that the way to make money was to make more small utilities. So I made more small utilities. Five of them in a year. Together they never cleared ₹8,000 a month.
The lesson I should have drawn was that people had paid for something that looked finished. The forty buyers weren't paying for the feature, which was trivial. They were paying because the screenshots were clean, the icon looked like it belonged on an iPhone, and the description didn't sound like a spreadsheet. I had accidentally done the marketing well and the product badly, and I attributed the success to the product.
People pay for the feeling that the thing is finished. Features are how you earn the right to charge for that feeling.
The game that paid for everything else
Knife Throw Royale is not a sophisticated app. It's a knife-throwing arcade game, the kind you play while waiting for a train. I built it in Unity, shipped it to the App Store, and put ads in it with a rewarded video for extra lives. It's still there. It still earns.
What the game taught me was the arithmetic of attention. A game gets installs that a utility never will, because the App Store's browse surfaces are built for games. And once you have installs, everything becomes measurable. I could see that a rewarded video watched at the moment of death earned more than a banner shown for a whole session. I could see that a Tuesday update with three new levels doubled day-7 retention for a week. I could see, for the first time, cause and effect in a business.
That visibility changed how I built everything after it. I stopped shipping things I hoped would work and started shipping things I could measure.
Pricing: the decision I got wrong for three years
For three years I priced everything at the lowest tier because I was Indian and I assumed my customers were too. They weren't. Apple's payments page showed me, month after month, that seventy percent of my revenue came from the United States, the United Kingdom, Canada, Germany and Australia. I was pricing for the thirty percent and leaving the seventy percent money on the table.
The fix was uncomfortable and took an afternoon. I moved my paid apps to Apple's automatic pricing with a US base price that I would actually have hesitated over myself, and I let Apple handle the per-country equalisation. Revenue went up. Downloads went down a little. Support emails went down a lot, because the people who pay more complain less. That last part nobody tells you.
- Price for where your revenue comes from, not where you live.
- A subscription with a lifetime option outperformed subscription-only in every app I tried it in. People in India and Germany both like owning things.
- The free tier has one job: make the paid tier feel obviously worth it. A free tier that is too generous is a donation.
- Raise prices on new customers first. Existing ones keep their price. Nobody has ever left over this.
The store page is the product, for the first ten seconds
I have rebuilt the App Store page for every app I own at least three times. Every rebuild moved conversion, sometimes by a lot. The pattern that held across all of them: the first screenshot is a headline with a phone in it, not a phone with a headline on it. Say the outcome in five words. Put the interface underneath as proof.
This obsession eventually became a product of its own. ShotPop exists because I kept opening Figma to put a screenshot on a gradient with a device frame, and I decided I would rather tap once. It launched on the App Store this week. Whether other people want to tap once too is the next thing I'll find out, and I'll write about that honestly when the numbers exist.

The habits that compounded
Ship on a calendar, not on a feeling
Every app I own gets an update at least every six weeks. Sometimes it's a real feature. Sometimes it's new templates, a bug fix and a fresh What's New. The App Store rewards recency, users trust apps that move, and I never lose the muscle of releasing. Waiting until something feels ready is how I lost most of 2021.
Read every review, reply to most
A one-star review that says 'crashes on open' is a bug report from someone who cared enough to type. I fix it, reply with the version number that fixes it, and ask them to try again. About a third of them update their review. The other two-thirds still see that the developer is alive, and so does everyone who reads it.
Keep the money boring
One account, one bank, one spreadsheet, one line per month. I know what each app earned, what I paid Apple, what I paid in tax, and what was left. When I couldn't answer those questions I made bad decisions. When I could, I made calm ones.
The month it nearly broke
In March of my second indie year, an iOS update changed how one of my apps handled a permission prompt, and overnight the onboarding completion rate fell from 71% to 38%. I didn't notice for nine days, because I was heads-down on a new feature and only looked at revenue, which lags. By the time I saw it, that month's number was already half of the previous one.
Two things came out of that. The first was a dashboard I still check every morning with coffee: installs, onboarding completion, trial starts, paid conversions, refunds, and crashes, for every app, on one screen. Not revenue. Revenue is the result of those numbers a fortnight later. The second was a rule that I ship compatibility fixes within forty-eight hours of any new iOS release, before features, always. Both are boring. Both are why the account kept growing.
The apps I killed, and why that mattered
There are eleven apps in my App Store Connect account. Three earn, one launched this week, and the other seven are removed from sale. Killing an app is emotionally harder than launching one, because a launch is hope and a removal is an admission. But every app you keep alive costs you: a build per iOS release, a privacy label update, a support inbox, a share of your attention. The seven I removed together earned less than one good week of ShotPop. Removing them gave me back roughly a day a month, and that day went into the apps that pay.
The rule I use now: an app either earns, teaches me something I can't learn elsewhere, or gets removed within a quarter of admitting neither is true. Sentiment doesn't get a vote.
The India-specific part nobody writes about
Apple pays in USD into an Indian bank account. Every payout has a foreign inward remittance, a purpose code, and a bank that charges for the privilege of receiving your money. Learn the paperwork early: the purpose code, the annual foreign income declaration, the advance tax dates. I lost a meaningful amount in my first year to a bank's conversion spread and to a late-payment interest charge, both because I treated a real income like pocket money. A chartered accountant who has seen App Store income before is worth every rupee. Ask them one question in the first meeting: 'How many clients do you have who get paid by Apple?' If the answer is none, keep looking.
The other India-specific part: nobody around you will understand what you do, for a long time. That's fine. The payments page understands.
What the number changed, and what it didn't
Crossing $100,000 didn't change my days much. I still build in the same room. It did change what I could say yes to. It let me turn down work I didn't want, take on a few founders a year on terms I set, and put money into products that don't need to pay for themselves this quarter. Arth, the finance app I'm building now, would not exist without it.
The thing it changed most was a belief. I no longer think of the App Store as a lottery. It's a market, it rewards specific behaviours, and those behaviours can be learned from anywhere with a laptop and a payments page to refresh.
If you're building something and want a second pair of eyes on the store page, the pricing or the whole plan, the brief form on the front page reaches me directly. I read every one.
