I maintain 73 production web apps by myself. Not 73 landing pages — 73 apps with auth, billing, a database, their own domains, their own UI, and real AI features behind a paywall. People assume the trick is that they're thin. It's the opposite: the only way one person keeps 73 real apps alive is to make the apps thin and the engine thick. Almost everything an app does, it borrows.

This is a teardown of that engine. I'm writing it because the engine is now a product — api.kynth.studio, which I call Kynth Core — and 73 apps in production is the most honest load test I can offer for it.

The shape of the problem

A single app is easy. The cost of software isn't the first instance, it's the Nth. Every app wants the same twelve things: sign-in, a session, a user row, a Stripe subscription, a webhook to reconcile it, analytics, SEO metadata, a design system, an AI call with a budget on it, and a way to ship without babysitting a pipeline. If each app owns its own copy of those twelve things, then N apps is 12N surfaces to patch when Stripe rotates an API version or Next ships a breaking change. That number is where solo maintenance dies.

So the design rule is blunt: an app is allowed to own its domain logic and its screens, and nothing else. Everything horizontal lives once, in a shared package, and every app imports it. When I fix auth, I fix it for 73 apps in one commit.