Converra CMS
Converra is a full-stack digital signage CMS consisting of a Next.js web dashboard, an Express REST API backend, and an Electron desktop player app - enabling centralized content scheduling, playlist management, and real-time multi-screen remote control.












Converra is the most complex system built at MJ Solution Indonesia - a production-grade digital signage platform with three distinct layers. The Next.js frontend serves both as an admin dashboard and a browser-based player interface, with screen connection flow and auth pages. The Express backend handles REST API operations, JWT authentication, file uploads up to 100MB, and dual real-time strategies - native WebSocket in development and Pusher Channels in production. The Electron desktop player (mjs-cms-desktop) runs on physical display devices, authenticates via token, receives remote commands in real time, supports idle video and content playback, and ships with an auto-update mechanism across 4 published releases. Storage is handled by local filesystem in development and Cloudinary CDN in production. The entire system is deployed across Vercel (frontend), Railway (backend), and Aiven PostgreSQL (database).
Managing content across multiple digital display locations required manually updating each player device on-site - a slow, error-prone workflow that became impossible to scale as the number of screens and clients grew. There was no way to monitor screen health, schedule content in advance, or push updates remotely without physical access to each device.
A three-part centralized platform where operators manage all content, playlists, and screens from a single web dashboard. The Electron player app runs silently on display hardware, authenticates with a token, and receives real-time commands via Pusher or WebSocket - enabling full remote control of every registered screen without any physical intervention.
- Three-part architecture: Next.js web dashboard, Express backend, and Electron desktop player
- Electron player app with 4 published releases (latest v1.1.1 - March 2026)
- Dual real-time strategy: native WebSocket (development) and Pusher Channels (production)
- Dual storage strategy: local filesystem (development) and Cloudinary CDN (production)
- Token-based screen authentication for secure player registration
- Remote playback control: play, stop, screen on/off from dashboard
- Auto-update mechanism on Electron player
- JWT authentication
- Prisma ORM with separate migration flows for development, testing, and production
- Deployed across Hostinger, Railway, and Aiven PostgreSQL
