dobrovolskiy.com
RU
← all workmobile · 2026

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.

$50 / hourBook an hour

More projects

RYTA: freight & machinery marketplaceOffline-first, over-the-air-updated freight/transport load board for Android, web and the MAX messengerBro LocatorCompass-style live locator for cycling crews, with contacts exchanged over sound.Sober: day counterMinimal sober-days counter with a friends circle that shares streaks.