I'm an ADHD developer running everything on a single RTX 4070. Over the past few months, I built 60+ web apps wrapped as Android APKs using Capacitor. Each one was 15-30MB — mostly duplicated runtime.
The problem: 60 × 97MB node_modules = 5.8GB of pure duplication.
The solution: One shared Android runtime + tiny JSON manifests per app.
The Architecture
Instead of shipping 60 separate APKs, I built:
- One OhananahO Runtime APK (~20MB) — shared WebView + Capacitor core
- 48 JSON manifests (~50KB total) — each describes one app (name, icon, entry point, permissions)
- A manifest converter that transforms existing Capacitor apps into manifests
The Numbers
| Before | After |
|---|---|
| 60 APKs × 15-30MB each | 1 runtime + 48 manifests |
| 331.9 MB of app data | 0.04 MB of manifests |
| 8,086x compression ratio | 100% space saved |
How It Works
- Runtime loads on phone
- Reads manifest directory from
/sdcard/OhananahO/apps/ - Renders app grid (launcher)
- Tap an app → loads its web assets into the shared WebView
- JS bridge exposes native capabilities (camera, GPS, storage)
Each app is just HTML/CSS/JS — the runtime provides everything else.
The Manifest Format
{
"name": "BrickWorthy",
"version": "2.0",
"entry": "index.html",
"icon": "icon.png",
"permissions": ["camera", "storage"],
"description": "Lego inventory with photo recognition"
}
Why This Matters
If you're building multiple PWAs/web apps and wrapping them for mobile:
- Stop duplicating the runtime. Ship one shared APK.
- Manifests are hot-swappable. Update an app without rebuilding the APK.
- 108KB launcher. The grid that loads 48 apps is smaller than a favicon.
Built With
- Android SDK (command-line tools, no Android Studio)
- Java 17 (no Gradle for the lightweight path)
- Python manifest converter
- HTML/CSS/JS for all app frontends
- Single RTX 4070 running Ollama + ComfyUI + the mesh simultaneously
What I Learned
The ADHD brain wants to build 60 things. The engineering brain says "but they all share 97% of their code." The compression brain says "extract the common, vary the unique." That's what this is.
If you're running multiple local AI tools, web apps, or utilities and wrapping them for mobile, this pattern saves massive space and simplifies updates.
The full toolkit (7 builds including this one) is documented with video tutorials: AI Creator's Toolkit on Gumroad
Happy to answer questions about the architecture or share the manifest converter.
Top comments (0)