Toppli app icon Free on iOS

Indie Dev

The Solo Developer's Guide to Shipping an iOS Game

What I learned building and launching Toppli — including the App Store rejection that nearly broke me.

I shipped Toppli to the App Store six months after I started building it, while working a full-time job. It's a one-tap stacking game built entirely in SwiftUI. It's free, has no ads on launch, and isn't going to make me rich. But it shipped — which puts it ahead of about 95% of indie game projects.

Here's everything that took longer than it should have, and what I'd tell anyone trying to do the same thing.

Shipping a mobile game solo isn't a technical challenge. It's a discipline challenge with a technical wrapper.

The actual technical decisions

SwiftUI was the right call. Five years ago I would have built this in SpriteKit. In 2026, SwiftUI is mature enough to handle a real-time game with smooth animation, and the development speed advantage is enormous when you're solo.

The single best technical decision: using CADisplayLink for the game loop instead of Timer. Timer fires on the run loop, which gets blocked by UI updates. DisplayLink syncs directly to the screen refresh rate. The difference between 60fps butter-smooth and visible frame drops was a one-line code change. I lost a week before figuring this out.

For state management I used a single ObservableObject as the game view model. No Redux, no fancy architecture. For a one-screen game, the simplest possible structure is the right one. If you find yourself reaching for complex state management on an indie game, you're probably overengineering.

The App Store rejection that nearly broke me

Apple rejected Toppli v1.0 under Guideline 2.3.2 — Accurate Metadata. My screenshots showed features that weren't in the build yet. I had a leaderboard mocked up in the listing that wasn't shipping in v1.0. I had Pro themes in the screenshots that hadn't been built.

Apple's review process doesn't care about your roadmap. They care about whether your listing matches your binary. If your screenshots show it, your shipping app needs to do it. The fastest way to get rejected is showing features you haven't built yet.

The fix took 20 minutes — replace the screenshots, remove the mentions of leaderboards from the description, resubmit. Apple approved within 12 hours. But the lesson was permanent: ship what you have, market what's shipping, save the dreams for v1.1.

The marketing reality check

Here's what nobody tells you about indie game marketing: you'll spend more time on marketing than on coding. By a wide margin. Building Toppli took about 200 hours over six months. Marketing it has already taken 80 hours in the first two weeks of launch.

What actually moves the needle:

What doesn't move the needle:

Try Toppli yourself. Toppli is the game I shipped. If you want to see how it turned out — free on the App Store. Download free

What I'd do differently

I'd start building the marketing 60 days before launch, not after. The TikTok account, Instagram, Reddit credibility — none of these can be built overnight. By launch day they should already have content history and a small audience.

I'd also build the website first, not last. Toppli.app went live the same week as the App Store launch, which meant I lost two weeks of potential SEO traffic that I could have been building up. A simple landing page with the App Store link, an email capture, and a blog can do real work for you while you're still coding.

And I'd be more disciplined about scope. Toppli was supposed to launch in three months. It took six because I kept adding features that nobody asked for. The version that shipped is significantly leaner than the version I originally designed — and that's the right call. Ship lean, iterate based on real player data.

The honest answer on whether it's worth it

Financially? Probably not on the first app. Indie game economics are brutal, and the gap between "shipped a game" and "made meaningful revenue from a game" is enormous.

For learning and portfolio? Absolutely worth it. Building and shipping a game teaches you ten times what tutorials and side projects ever will — production constraints, App Store dynamics, marketing reality, retention metrics, customer support. None of that exists in tutorials.

For the satisfaction of shipping? Yes, and don't underestimate it. Most people who start indie games never finish them. Just being on the App Store at all puts you in a tiny minority. That counts for something even if the download numbers are humble.

If you're building something similar — start the marketing now. Build in public. Post your progress on TikTok. Write articles like this one. Ship lean, ship soon, and iterate. The technical part is the easy part. The hard part is everything else, and the only way to learn it is to ship.

solo developerindie devios developmentswiftui gameapp store submission