How we shipped 48 iOS apps in a year
When we started mk0.net, we made a simple bet: small, focused apps still matter. Each one solves a single problem well, ships fast, and respects the user's time and data. A year later, that bet has produced 48 apps on the App Store. Here's what we learned.
Pick problems you actually have
Most of our apps started as a personal annoyance. A clipboard that forgot what we copied. A meal reminder we couldn't tweak. A focus timer that always felt slightly wrong. When we build for our own friction, we ship faster and the design decisions get easier.
One template, many apps
We invested heavily in a shared SwiftUI starter - onboarding, theme, settings, paywall, locale, import/export. Every new app forks the template, swaps in the data model, and skips three weeks of plumbing. The discipline is to improve the template when we hit a rough edge in any single app.
Default to local-first
Most of our apps are local-only or SwiftData + CloudKit. Setting up a backend is rarely worth it for a small productivity app. Local-first means privacy is honest, not aspirational, and the App Store privacy nutrition label fits on one screen.
Localize from day one
Every app ships with up to 15 languages. We use a shared Localizable.xcstrings catalog and ASO-tuned per-locale store listings. The result: half of our installs come from non-English markets, and keyword competition is dramatically softer outside Tier 1.
Subscriptions, but lightly
We use RevenueCat for every paid app - same code, same dashboards, same testing flow. We avoid hard paywalls; most apps offer the core experience free and gate one or two power features behind a subscription with a 7-day trial.
Ship before it's "ready"
The last 10% of an app takes months. The first 90% takes weeks. We've found that shipping a focused v1 and iterating against real reviews beats polishing in private - every time.
What's next
We're moving toward fewer, deeper apps in 2026 - taking the strongest categories (health, productivity, business) and going further. The template will keep growing. So will the catalog, just slower.
Have an idea? Tell us about it.