Content apps
Turning documents, photos, audio and video into an app of their own.
Documentation
Everything a page inside a generated app can do - purchases, ads, push, sign-in, databases, the phone's own hardware - written as 361 numbered steps across 44 chapters. This is the same guide that ships inside the Appwright app, published here so you can read it on a laptop, link to a single step, and hand it to whatever you use to write code.
What the builders are, what an app costs to make, and how to give them something to build.
Describe an app in plain words and get a real APK, with no key and no account.
What one Mint buys, what a typical app costs to generate, and why editing is cheaper than creating.
Run the AI pipeline on your own OpenAI, Anthropic or OpenRouter key instead of Mints.
Upload a React, Vue or plain HTML project and have it bundled into an APK unchanged.
Paste one self-contained HTML page, or upload the .html file, and get a signed APK - no AI round, no Mints.
A dev app that loads your PC's dev server over Wi-Fi or USB as http://localhost, so every save shows on the phone - with a console and refresh-on-save built in.
How a page inside the app differs from a page in a browser tab, and the rules that keep it working.
Build settings, routing and asset paths for framework projects that have to run from a file:// origin.
Adaptive icons, the splash screen, and the sizes Android actually uses.
Ask for a Play rating at the right moment, show a "What’s new" card after each update, and animate the splash with a GIF or the app name.
Run raw JSX with no build step by loading React and Babel at runtime.
In-app purchases, subscriptions, ads and card payments inside a generated app.
Prebuilt wiring for payment gateways, WhatsApp, Maps and other third-party services.
Take card payments for physical goods and services, where Play billing is not required.
Banner, interstitial and rewarded ads, the consent rules, and the mistakes that stop ads serving.
The one file AdMob needs on your domain before it will pay full rates.
Sell one-time unlocks and subscriptions from your own page, with live Play prices and offline entitlement checks.
Databases, sign-in and live chat, wired without running a server.
A hosted database and user accounts for an app with no server of its own.
A real "Continue with Google" button inside a generated app, and the SHA-1 that makes it work.
Connect a Postgres database, auth and storage once, and let the AI write against it.
Put a staffed live-chat widget in the app without touching your website.
Push from a server, and reminders scheduled on the device itself.
Schedule reminders on the device - no server, no internet, exact alarms included.
Send a notification to every installed copy of your Appwright app from a web dashboard.
Use OneSignal instead, for segments, scheduling and delivery reporting.
The JavaScript bridge: sensors, files, media, camera, biometrics and the rest of the phone.
Every native method and API a page can use inside a generated app - 469 of them, each with a runnable example, extracted from the runtime.
Lock the app to one screen for a shop counter, a museum or a demo unit.
Float the video in a corner while the user does something else.
Keep playing when the user leaves the app or turns the screen off.
Accelerometer, Bluetooth sensors, file access and work that keeps running when the app is closed.
Native fullscreen for HTML5 video, with the rotation and cutout handling Android expects.
Cast video from the app to a TV.
Lock-screen controls, artwork and the seek bar for audio your page is playing.
Read and write a real folder on the phone, with permission that survives reboots.
Which standard browser APIs work inside the app, and which need the native bridge instead.
Turn off screenshots and screen recording for pages that show something private.
Deep links, the side menu, offline behaviour, injected CSS/JS and remote updates.
Push new app content to installed copies without a Play release.
Put the same build online as a website, on a URL you can share.
Open a specific page in the app from a link, a QR code or a notification.
Ship the site inside the APK so it opens with no connection at all.
Restyle or patch a website you are wrapping without editing the website.
Run a script on matching pages only - the userscript model, inside your app.
Add your own items to the drawer, each opening inside the app.
Turning documents, photos, audio and video into an app of their own.
Ownership verification, signing keys, and the errors Play returns on upload.
Reopen any app you built on this phone with every setting filled in, or recover it from its APK, and ship an update.
What to do when Play rejects an upload because the signing key does not match.
Prove you own the website your app wraps, which Play now asks for.
Every page here has a plain Markdown twin at the same address with .md on the end, linked from the page's own <head>. If you would rather not crawl at all, two files cover the whole thing.