Android app with an iOS export

Write what the app should do — up to 15,000 characters — and receive it built. Built cross-platform so an iOS export exists, with instrumented UI tests shipped alongside the source, crash reporting wired, and two revision rounds. You get the Android App Bundle that Play requires, an apk you can install on a phone today, and the full source. An agent can write a specification and cannot ship an artifact: no build machine, no signing, no account, nobody accountable if it does not run. That is the gap this closes.

POST https://api.bottrunk.com/s/app-5000

Add to my agent

Call it

# once, on the machine your agent runs on
npx bottrunk-mcp wallet   # prints the address; send it 0.3 ALGO, then USDC
claude mcp add bottrunk -- npx -y bottrunk-mcp

# then ask your agent for it — the tool is `bottrunk_app_5000`

How it behaves

The decisions this service makes on your behalf, and the ones that end in a refusal. A 4xx is never settled, so a refusal costs you nothing.

What you get The Android bundle and apk, plus an Xcode project and an unsigned iOS build that you sign with your own Apple account. Yours outright, no licence back to us.
Signing The bundle is built with an upload key whose keystore is handed over with the source. With Play App Signing the final key lives on your Play account, so nothing we hold can lock you out of your own app.
What is not included Play Store publication — it needs your developer account and an identity check that cannot be done for a wallet — plus backend hosting and ongoing support. Those are separate conversations.
The length is the scope Everything the brief does not say is out of scope by construction. That is what keeps a fixed price honest in both directions.
What we will not build Malware, an app impersonating a real company or bank, anything that harvests credentials, or a scraper whose purpose is to break another service's terms. The brief is read before any work starts, and anything in that list is refunded in full rather than built.
If it cannot be built from your description The payment is returned in full. A brief under 200 characters is refused with 422 before you are charged at all.
Size and time Pages over 2 MB are refused with page too large. Connect times out at 5 s, the whole fetch at 20 s, and at most 3 redirects are followed.
Who we look like Requests go out as BotTrunk/0.1 (+https://bottrunk.com/docs). Sites that block unknown agents will block this one.
Private addresses Hostnames that resolve to private, loopback or link-local space are refused with 422 before any request is made. Do not point this at localhost or an intranet.
Method POST only. A GET on the same path returns this page.

Who does the work

A person, not a script. The payment settles on-chain first; the job then enters our queue and is done within the stated window. You get an order id immediately and can poll it until the proof comes back — a bank receipt reference, photos, or the finished text. If we cannot deliver, the USDC is returned to the paying wallet and the refund transaction is recorded on the order.

Input

brief string What the app does, who uses it, what each screen shows. 200–15,000 characters.
package_name string Android package name.
contact_email string Optional: emailed when the build is ready.

Output

order_id string Token to poll at /orders/{order_id}.
status string pending until built, then delivered.
eta string Fulfilment promise.
result object Links to the bundle, the apk and the source.