18 apps. 4 paying. 1 spreadsheet that couldn't keep up.
Lukas Brenn has been building iOS apps solo from his apartment in Munich since 2019. By early 2024 he had 18 apps live on the App Store — a mix of utilities, productivity tools, and niche hobby apps. Of those 18, four were generating meaningful revenue. The other 14 ranged from "a few euros a month" to "basically zero."
The problem wasn't building the apps. Lukas is a fast developer — he can ship a polished iOS app in three to four weeks when focused. The problem was knowing what to do with them all after launch. His tracking system was a single Numbers spreadsheet that had grown into something he described as "a monster I'm afraid to touch."
"I had download counts, I had App Store Connect revenue, I had my server costs scattered across Hetzner invoices, CloudFlare, RevenueCat. But I never had one view that said: this app made this much, cost this much, required this many hours of maintenance. That was the gap."
The portfolio problem
The issue with 18 apps isn't building them — it's the ongoing cost of keeping them alive. Every app that ships requires some maintenance: iOS version updates, App Review compliance changes, occasional crash fixes, customer support emails, server costs if the app has a backend.
Lukas's 18 apps were generating a combined €4,200/month in revenue. But he had no clear picture of what each one was costing him in time and infrastructure — or which ones were pulling their weight.
The challenge was that these costs were invisible inside a single total revenue number. "I knew I was making money. I didn't know where."
Setting up 18 projects in Hustlay
Lukas set up one Hustlay project per app. Each project tracks:
- Revenue: App Store Connect payouts tagged by app. RevenueCat subscription revenue imported monthly.
- Direct costs: Server costs (Hetzner VPS, object storage), push notification services, per-app licensing fees.
- Shared costs allocated: Apple Developer membership (€99/yr split by revenue share), Xcode-related tools, CI/CD costs (split by number of active builds), accounting fees.
- Hours tracked: Every hour logged to the app — new features, maintenance, iOS update testing, customer support.
"Setup took one afternoon. Getting all 18 apps in, historical data for the prior 6 months, matching expenses to projects. After that, monthly reconciliation is maybe 25 minutes."
What the numbers revealed
After three months of real data, Lukas ran his first full portfolio P&L. The results sorted his 18 apps into four clear tiers:
| Tier | Apps | Avg profit/hr | Action |
|---|---|---|---|
| Stars | 4 apps | €58–€94/hr | Invest — more features, marketing |
| Cash cows | 3 apps | €22–€41/hr | Maintain — don't over-invest |
| Dead weight | 7 apps | €0–€8/hr | Archive or delete |
| Projects | 4 apps | Negative | Decide: invest or cut |
"Four apps were making me €58+ per hour of maintenance time. Seven apps were making me under €8/hr. I had been treating all 18 the same. That stops now."
The data revealed a specific problem: three of the dead-weight apps had backends with Hetzner servers that cost €18/month each to run. Each server was hosting an app earning €12–€20/month. Lukas was literally paying to keep the lights on for apps that barely covered the server bill.
The portfolio reset
Over two months, Lukas made several hard decisions:
- Archived 5 apps that had earned less than €200 lifetime. The App Store pages stay up but he stopped accepting new customers and shut down the servers.
- Converted 2 apps from subscription to one-time purchase and removed the backend dependency. Revenue dropped slightly but so did maintenance cost and complexity.
- Doubled down on his 4 star apps — shipped a major update to his top earner (a productivity utility at €94/hr) and started running App Store search ads for the first time.
- Set maintenance budgets for each remaining app in Hustlay — a monthly hour cap beyond which he treats the app as a candidate for the next review cycle.
Six months after the reset
| Before | After (6 months) | |
|---|---|---|
| Total apps | 18 | 11 |
| Monthly revenue | €4,200 | €5,800 |
| Monthly infrastructure cost | €340 | €160 |
| Monthly maintenance hours | 62 hrs | 38 hrs |
| Net profit (after costs) | €2,960 | €4,580 |
| Effective hourly rate | €48/hr | €121/hr |
Revenue went up 38%, costs went down, and he got 24 hours a month back — hours now going into new app development.
The monthly review ritual
Lukas now runs a monthly review every first Sunday. In Hustlay, he looks at three numbers per app:
- Net profit for the month
- Hours logged (tracked via Hustlay's time tracker)
- Profit per hour
Any app below €20/hr for two consecutive months goes on a watchlist. Any app below €20/hr for four months gets a decision meeting with himself: invest to fix it, or archive it.
"It sounds harsh. But 18 apps at €8/hr average is worse than 8 apps at €90/hr average. The math isn't complicated — it just requires actually doing it."