RYTA: freight & machinery marketplace
Offline-first, over-the-air-updated freight/transport load board for Android, web and the MAX messenger
RYTA 3.0 is a multi-platform marketplace where carriers and shippers publish cargo, trucks and machinery as pins on a self-hosted map, chat, and confirm identity by phone.

RYTA 3.0 is a multi-platform marketplace where carriers and shippers publish cargo, trucks and machinery as pins on a self-hosted map, chat, and confirm identity by phone.
The Android app is a thin Kotlin WebView shell that seeds an offline web bundle and swaps in SHA-256-verified bundle updates from a FastAPI backend without Play Store releases; the same bundle runs as a PWA (web.ryta.online) and the whole UI is mirrored as a bot + mini-app inside the MAX messenger.
Successor to a legacy .NET 'RYTA 2.0' system, with user/listing migration.
What it does
- OTA update engine: APK seeds bundle from assets, then downloads/verifies/atomically swaps newer web bundles per channel (no store re-release); 300+ bundles published
- Map of cargo / transport / machinery pins with custom SVG type icons, listing sheets with price/specs/rating, straight-line route preview (OSRM routing planned)
- Topic chat rooms + direct messages, FCM push (data messages built natively) scoped to DMs to avoid fan-out
- Passwordless phone identity: user calls an 8-800 number, Rostelecom virtual PBX webhook (HMAC-signed) confirms the pending request; one person = many devices
- Paid services via T-Bank acquiring (Init + signed notification webhook), admin-managed price catalogue, subscriptions keyed by verified phone
- MAX messenger bot that mirrors the full app UI (menus, search, listings, chats, profile) plus a MAX mini-app; live in production since 2026-08-27
- SvelteKit admin panel (users, listings, billing, push, errors, themes, taxonomies, custom icon picker with Android-vector-XML to SVG conversion)
- Client-side diagnostics journal (diag.js) with error export for the admin; release/publish scripts with env-drift detection; redroid containerized Android test device; Play Store asset generator (screenshots, captions, feature graphic)
Home-grown OTA update pipeline (hash-verified atomic bundle swap with rollback, channels, min-native gating) instead of Capgo; one web bundle serves Android WebView, PWA and a MAX mini-app; phone verification by inbound call through a telecom PBX webhook; real payments, real users migrated from a legacy .NET backend; 'core template' model (UA) where app code never edits core files and core improvements are pulled in via a manifest-driven script; production deployed on a self-managed Docker/Caddy host with private registry.
Gallery



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.