Emoqa Sync
One dashboard. Thousands of screens.
Fully self-hosted offline-capable digital signage. The Android kiosk plays content without internet. The Node.js backend handles sync, OTA updates, and multi-tenant management — all on your own VPS.
Android Kiosk
Kotlin · Jetpack Compose · Room · Hilt · WorkManager
Backend
Node.js 22 ESM · Fastify 4 · PM2 · PostgreSQL
Vendor Portal
React · Vite · Tailwind CSS · Deployed at cms.emoqa.in
Admin Panel
React · Deployed at cmsadmin.emoqa.in
Everything to manage screens at scale.
01
Offline-First Playback
Screens never go blank. The Android kiosk caches content locally and plays it even without any internet connection — sync resumes automatically on reconnect.
02
WebSocket Real-Time Sync
Changes pushed from the vendor portal are reflected on all connected screens within seconds via persistent WebSocket connections (wss://cms.emoqa.in).
03
OTA Updates Over the Air
New APK versions are built by CI, uploaded to the VPS, and broadcast via WebSocket to all devices. No physical access needed for updates.
04
Multi-Tenant Portals
Vendor portal (cms.emoqa.in) for content managers. Admin panel (cmsadmin.emoqa.in) for super-admins. Each tenant sees only their own screens and data.
05
Device Remote Commands
Send reboot, screenshot, mode-switch, and sync commands to any device from the portal. Live WebSocket stream for real-time device monitoring.
06
Device Log Submission
Operators can tap 'Send to Portal' on the device Help screen to upload full logcat logs. Portal shows them in a terminal-style viewer for instant debugging.
Architecture
Fully self-hosted.
Zero cloud dependency.
One VPS runs everything — the backend, both portals, all APK downloads, and all media files. GoDaddy DNS routes cms.emoqa.in and cmsadmin.emoqa.in to nginx on the same box. Your data never leaves your infrastructure.
Android Kiosk
com.emoqa.offline · Package ID per device
WebSocket
wss://cms.emoqa.in/api/device/ws
REST API
cms.emoqa.in/api/* → Node.js Fastify 4
Media Files
cms.emoqa.in/media/* → /var/www/emoqa-media/
APK Downloads
cms.emoqa.in/apk/*.apk → /var/www/emoqa-apk/
Proven at scale.
Emoqa Sync is deployed across retail chains, hospitals, corporate campuses, and government institutions. From 1 screen to thousands — the architecture doesn't break a sweat.