People sometimes ask what secret tooling makes it possible to run eight iOS apps as one person. The honest answer is disappointing: there is no secret. The stack is boring on purpose, and the boringness is the feature. Every exciting technology I do not adopt is a category of 2 a.m. problem I will never have.
One language, one UI framework, no exceptions
Every app in the studio is native Swift and SwiftUI. Not because cross-platform tools are bad, but because a second framework is a second set of bugs, a second upgrade treadmill, and a second mental model to page back in at midnight. When Apple ships a new iOS version, I read one set of release notes and every app benefits at once. When I fix a layout bug in one app, the fix usually teaches me something that applies to the other seven.
The same rule applies below the surface. Data is SwiftData or CloudKit, period. Sign in, when an app truly needs it, is Sign in with Apple. The moment I allow myself one special case, I am maintaining a zoo instead of a flock.
The website is four files and a deploy command
This site you are reading is a static Astro build deployed to Cloudflare Pages. There is no CMS, no database, no admin panel to be hacked. A blog post is a file in a folder. Publishing is one command in a terminal. When something looks wrong, the entire surface area I have to debug fits in my head, and the hosting bill is roughly the cost of a coffee.
Boring does not mean old
Here is the nuance: the stack is conservative, but it is not stale. The apps use Apple's newest on-device AI frameworks, and the weather app targets the current iOS specifically so it can use the latest design system. The rule is not "avoid new things." The rule is "adopt new things only where they touch the product, never where they touch the plumbing." Users feel the product. Nobody feels my build pipeline, so the build pipeline gets to be ancient and reliable.
What this buys me in practice
A typical maintenance day looks like this: pull, build all eight apps, fix whatever a new iOS beta broke, ship. Because everything shares the same skeleton, that loop takes an afternoon instead of a month. The fanciest thing in the whole operation is the discipline, not the tooling. If you are a solo builder, or thinking about becoming one, I would push you toward the same trade: spend your novelty budget on what users touch, and let everything else be as dull as a hammer. Hammers work.
— JC Mobile App Studio