Ultimate App Template
Android WebView shell with self-updating web bundles, rollback and behaviour analytics.
Ultimate App is a reusable template for apps whose UI ships as a web bundle updated over the air, so the APK almost never changes.
Ultimate App is a reusable template for apps whose UI ships as a web bundle updated over the air, so the APK almost never changes.
A thin Kotlin shell serves the bundle from internal storage via WebViewAssetLoader (offline-first), silently downloads and SHA-256-verifies new releases, stages them, rolls back automatically if the new bundle never confirms boot, and supports FCM push.
The FastAPI backend (Postgres + S3/MinIO) has a server-rendered admin panel for releases, install statistics, tap/scroll heatmaps overlaid on collected device screenshots, and client-error reports.
It is the core that a production freight-marketplace app is built on, synced via a core manifest.
What it does
- OTA bundle updates: version check, zip download, SHA-256 verify, silent staging, mandatory releases, '?updated=1' hint to the UI
- Automatic rollback with a 15 s boot watchdog and blacklisting of broken version codes
- Offline-first: bundle seeded from APK assets on first launch, all server calls async
- Behaviour analytics core: normalised taps/moves/scrolls/screens/JS errors buffered offline, heatmaps and a device-screens gallery in the admin
- FCM data-message push with deep links; NativeBridge JS interface (getInfo, isOnline, checkForUpdate, captureScreen...)
- Publish tooling (semver + auto build number), core.manifest sync into derived apps, redroid docker compose for device-free testing
Complete OTA delivery system with integrity checks and self-healing rollback, plus a built-in product-analytics layer (heatmaps over real device screenshots); proven as the foundation of a deployed commercial app.
Want something like this?
I build it live on a Zoom call, you watch the screen, the timer stops when you say stop. First 15 minutes are free.