All posts
·Avi Oz

How we deploy AI-generated apps

AI code has its own dialect. Here's how MoonBase reads it, repairs the rough edges, and ships a live URL — without modifying your source.

How we deploy AI-generated apps

AI-generated code is weird. It works. It's almost always correct in the small. But it has its own dialect — patterns no human would write, shortcuts that assume a specific runtime, dependencies that aren't quite where you'd expect them.

So MoonBase doesn't deploy AI-generated code the way Vercel does. We *read* it first.

The Compatibility Engine

Three tiers, in order:

  • Fingerprint. We look at the file structure, the import patterns,

the comment style, the specific dependency versions. From that, we guess which AI tool produced the code. Claude Code? Bolt? v0? Lovable? Cursor? ChatGPT directly? Each has a signature.

  • Inspect. We parse the actual files — not just package.json —

and build a map of what the code is trying to do. Which env vars it references. Which scripts it expects to exist. Which Node version it implicitly assumes.

  • Repair. Anything obvious that's missing, we patch — in a copy.

Your original ZIP is sacred; we never touch it. Every patch lands in the Deployment Recipe, which you can read, edit, or re-run.

What the engine won't do

  • Ship code it doesn't understand. If we can't fingerprint the

framework, you get a polite "tell us more" prompt, not a silent failure.

  • Modify your business logic. Repairs are scoped to plumbing —

scripts, configs, runtime hints. Your code is yours.

  • Hide what it did. Every fix is logged. The Recipe is exportable.

That's the deal: unknown is acceptable, failure is not.