APP FOUNDRY

GREA · applied AI

Send an idea. Get a signed Android build.

App Foundry turns a paragraph into a buildable app spec, a real Expo project, and a Play-ready App Bundle — then stops at a draft for you to approve or send back.

The pipeline

Six stages, one of which is deliberately not automated. State lives in a Cloudflare Worker with D1; the Gradle work happens on a machine that claims jobs from it.

  1. intakeyou describe the idea

    A sentence is enough. Attach a brief if you have one. It is stored, not summarised away.

  2. spec~3 s

    The model returns a structured spec — app name, package id, store copy, screens, and a list of risks it wants you to see before anything is built.

  3. generate~27 s

    Clones a known-good Expo project, rewrites the package id, moves the Kotlin sources to match, writes the screens, and installs dependencies fresh.

  4. build~104 s

    Gradle produces a release App Bundle signed with the upload key. Slow the first time, fast after — the native compilation is cached.

  5. verifyevery time

    The bundle's own manifest is read back and the signature checked. A green build log is not evidence; the artifact is.

  6. uploadone manual click, by design

    Google's Publisher API has no method that creates an app record — every app-scoped call needs a package that already exists. So each new app is created once in Play Console, and everything after that is automatable.

What it has actually produced

Not a demo. Two apps taken from a paragraph to a signed bundle, with the package id read back out of each artifact.

Both bundles verified with bundletool dump manifest and jarsigner.
IdeaPackageScreensBuildBundle
Yard-sign tracker com.grea.signtracker 4123 s 46,896,056 B
Restaurant shift swap com.grea.shiftswap 5104 s 46,898,292 B

Where it stops

The interesting part of a system like this is the edges. These are real, not hedged.

Why it is built this way. Cloudflare owns state, the conversation, and the upload call. Gradle cannot run in a Worker, so a machine-resident worker claims jobs and reports back. That split is the whole architecture, and it is why the system can be inspected stage by stage.