Services Signage Marketing AI Studio Work Studio Blog Contact
§ Product — Enterprise Digital Signage

One platform to run every screen you own.

Our Enterprise Digital Signage Platform is an end-to-end content management and playback system — upload media, build data-driven widgets, playlists and multi-zone layouts, schedule by daypart, push to Android, iOS and iPadOS screens, and monitor it all live. Multi-tenant, offline-first, and built to scale from one lobby display to a whole fleet.

◆ Multi-tenant CMS ◆ Offline-first players ◆ Android, iOS & iPadOS ◆ Live monitoring ◆ Data-driven widgets ◆ Proof-of-play ◆ MFA & audit log ◆ EN · AR · JA
A wall-mounted digital display showing an on-screen content menu
Content Library✦ Playlists✦ Layout Designer✦ Dayparting✦ Offline Sync✦ Live Monitoring✦ Analytics✦ Datasets✦ Calendar Feeds✦ Streaming✦ Webhooks✦ Content Library✦ Playlists✦ Layout Designer✦ Dayparting✦ Offline Sync✦ Live Monitoring✦ Analytics✦ Datasets✦ Calendar Feeds✦ Streaming✦ Webhooks✦
§ 01 — The screen

Split one display into zones that each tell their own story.

Design pixel-perfect layouts in the browser — a hero video here, a rotating menu there, a live ticker along the bottom and a clock in the corner. Every zone plays its own playlist on its own schedule, and the whole composition syncs down to the screen as a single offline bundle.

Main zone — featured video & promos Side zone — rotating product playlist Ticker — live text & announcements Clock widget — local time, any timezone
Live
Main
▶
Side
14:32
★ Welcome to Gate A12 · Boarding 14:50 · Today's special: filter coffee ₹40 · Wi-Fi: GUEST-NET · ★ Welcome to Gate A12 · Boarding 14:50 · 
§ 02 — Built to scale

Engineered for fleets, not just a screen or two.

0
Automated tests
100%
Offline playback
0
Content types
24/7
Live monitoring
§ Module 01

Content Library

A proper media store on object storage — upload once, organise cleanly, and reuse everywhere. Plus file-less content — text, ticker, clock and calendar widgets, and live streams — for everything that changes by the minute.

ImagesVideoAudioFoldersTagsVersioningTextTickerClockCalendarStreamApprovals
See the library in a demo →
  • Direct-to-storage uploadsBrowser uploads straight to S3/MinIO with per-file progress, automatic thumbnails and ETag de-duplication — bytes never bottleneck through the server.
  • Folders, tags & searchOrganise thousands of assets, filter by type or folder, and find anything in seconds.
  • Versioning & quotasRe-upload to bump a version while keeping history; per-organisation storage quotas keep tenants in their lane.
  • Dynamic widgetsText, scrolling ticker, clock and calendar are config-driven content types — full typography, colours and live-animated effects, no file required. Their config travels in the offline bundle and flows through the same playlist, layout and schedule pipeline as any asset.
  • Live streamsPlay RTSP, HLS or RTMP feeds straight onto a zone — cameras, broadcast feeds, test patterns. A dropped source reconnects on its own with escalating back-off, because a wall-mounted screen has nobody to press retry.
  • Template galleryEight ready-made starters — lobby welcome, menu board, meeting room, price list, noticeboard, now & next, KPI wall and emergency notice — cloned into your organisation as layout, widgets, playlist and sample data in one click.
  • Approval workflowOpt in per organisation and new content lands as a draft until a reviewer approves it — with a mandatory note on rejection, and only approved items ever reach a screen.
◆ ◆ ◆
§ Module 02

Data-driven Content

Menu boards, price lists, KPI walls and meeting-room agendas that update themselves. Bind a spreadsheet, a feed or your calendar to a widget once — the screens follow the data from then on.

Google SheetsCSV & JSONURL pollingBindingsICS feedsGoogle CalendarMicrosoft 365Privacy mode
See a menu board update live →
  • Datasets from anywhereUpload CSV or JSON, poll a remote URL on a schedule, or connect a Google Sheet by range. Columns are typed and ordered; rows are the single source of truth for every widget bound to them.
  • Bind, don't retypeDrop {{ column }} placeholders into any text, ticker or price widget. Bindings resolve on the server every few minutes, so players simply receive fresh content — no app update, no manual edits.
  • Calendar feedsAgenda, day, week and month views fed by an ICS URL or a per-organisation Google / Microsoft 365 connection. Privacy mode replaces meeting titles with "Busy" on shared screens.
◆ ◆ ◆
§ Module 03

Playlists & Layout Designer

Sequence content with a drag-drop builder, then arrange it on screen with a visual, multi-zone canvas — start from a template or design your own.

Drag & dropNested playlistsTransitionsTrim & fitKen BurnsPer-item flightingMulti-zoneTemplates
Walk through the builder →
  • Visual playlist builderReorder items by drag, set per-item duration and fade transitions, and nest playlists inside playlists — up to five levels deep — for reuse.
  • Per-item playback controlNatural, fixed or loop-until durations; clip in/out trimming; fit, nine-point focal crop, rotation and blurred letterbox fill; a slow Ken Burns zoom on stills; repeat counts; and per-item flighting — start/end dates, weekdays and a daily window — evaluated on the device.
  • Multi-zone layoutsDrag and resize zones on a percentage-based canvas; each zone runs its own playlist, its own timeline and its own proof-of-play independently.
  • System templatesFull-screen, 50/50 split, L-bar + ticker, picture-in-picture and 3-zone grid — clone one and tweak.
◆ ◆ ◆
§ Module 04

Scheduling & Dayparting

Show the right content at the right time. Schedule by date range, weekday and time window — or by an absolute window or a one-time play — resolved per device in its own timezone, with overlapping schedules rotating by priority and emergency overrides on top.

DaypartingRecurrencePriorityEmergency overrideHolidaysPer-device TZRotationAbsolute windowsOne-time
Plan a rollout with us →
  • Time-of-day playbackBreakfast menu in the morning, dinner specials at night — daily and weekly windows, including overnight spans.
  • Rotation & emergenciesOverlapping schedules no longer fight for one slot — they rotate, each taking a full turn in priority order — while an emergency schedule instantly and exclusively takes over every targeted screen.
  • Absolute windowsBeyond daily and weekly recurrence, run content between two exact date-times — a launch week or a seasonal promo — each resolved in the device's own timezone.
  • One-time playsSchedule something to run exactly once; the screen reports back when it's done and the schedule auto-retires, with a one-click reschedule to run it again.
  • Holiday calendarsDefine org holidays once and let schedules skip them automatically.
  • Target devices or groupsPoint a schedule at a single screen, a nested group, or a whole region.
◆ ◆ ◆
§ Module 05

Live Monitoring & Control

See every screen in real time over WebSockets — what's playing now, device health, on-demand screenshots and field logs — and send commands the moment you need them.

Real-time statusNow-playingScreenshotsTelemetryRemote commandsField logsOffline alerts
See the operations console →
  • Now-playing & screenshotsThe console rebuilds each screen from its reported playback and zone geometry, and — where an organisation opts in — pulls an on-demand screenshot straight from the device.
  • Health & telemetryHeartbeats every minute carry app and OS version, timezone, what's playing and storage used; a screen silent for five minutes is flagged offline and raises an alert automatically. Field logs upload from the device with tokens and signed URLs redacted.
  • Remote commandsRestart, refresh content, rename, set volume, set brightness or capture a screenshot — every command is queued, delivered and acknowledged, so you always know whether the screen actually did it.
◆ ◆ ◆
§ Module 06

Analytics & Proof-of-Play

Know what actually played, where, and how often. Interactive dashboards, CSV exports and scheduled email reports — with opt-in proof-of-play for advertisers and compliance.

Playback reportsDevice & errorStorage & bandwidthCSV exportScheduled reportsProof-of-play
Talk reporting & PoP →
  • Proof-of-playOpt-in, per-org and per-device — every asset play is recorded and uploaded, ideal for billing advertisers and audits.
  • Operational reportsPlayback, device uptime, errors, storage and estimated bandwidth — filter by date, device or group.
  • Exports & schedulesDownload any report as CSV on demand, or have it emailed daily, weekly or monthly.
§ 03 — Players

Runs on the screens you already have.

🤖 Android · Flutter

Android player

A purpose-built kiosk player for Android media boxes, TVs and panels — locked down for unattended, always-on duty.

  • Device-owner kiosk lock-down, home-launcher takeover & boot auto-launch
  • Native watchdog relaunches a dead player; crash-loop guard stops a bad boot spiralling
  • Offline-first: plays from local cache with no network
🍎 iOS · iPadOS · Flutter

iOS & iPad player

The same player on Apple hardware — an iPad as a meeting-room panel, a reception display or a counter-top menu, verified on device.

  • Device token held in the Keychain; nothing typed on the screen
  • Same layouts, playlists, widgets & schedules as Android
  • Live-stream playback with self-healing reconnect
⚡ Offline-first

Sync engine

Every player pulls one hashed offline manifest — schedules, playlists, layouts and media — into a local database and keeps playing through outages.

  • Change detection: an unchanged manifest means no download and no work
  • Resumable downloads straight to disk; signed, expiring media URLs
  • Pairing-code onboarding, then a scoped device token — never a user login

◆ LG webOS and Samsung Tizen players are on the roadmap — the backend already recognises those platforms.

§ 04 — The whole platform

Everything in the box.

Beyond playback, it's a complete enterprise backend — secure, multi-tenant and ready for IT.

01
🏢

Multi-tenant

Complete row-level isolation between organisations — one platform, many customers, zero data bleed — with per-org storage quotas and branding.

02
🔑

Roles & RBAC

Org Admin, Manager, Operator and Viewer out of the box, plus custom per-org roles — and an opt-in approve-before-publish workflow.

03
🖥️

Operator portal

A fast, server-rendered web console for content, devices, schedules, monitoring and reports — light or dark, your pick.

04
📡

Device management

Pairing-based onboarding, nested groups, tags, remote commands, per-device telemetry and field logs.

05
🔔

Notifications

In-portal and email alerts for the events that matter — a screen dropping offline, content awaiting review, a report ready.

06
🔗

Webhooks & API

HMAC-signed outbound webhooks with a delivery log and retries, plus a documented OpenAPI REST API to wire signage into your stack.

07
🛡️

Security hardened

TOTP multi-factor auth with recovery codes and org-wide enforcement, session revocation, audit logs, rate limiting and CSP out of the box.

08
🌐

Multilingual

Console localised in English, Arabic (right-to-left) and Japanese, with per-user language and theme — ready for global teams.

§ 05 — How it works

From blank screen to broadcasting in five steps.

01

Pair a screen

Install the player, enter the on-screen pairing code in the console, approve it. The screen is now under management.

~ minutes
02

Add content

Upload media, create widgets — text, ticker, clock, calendar — and bind them to a spreadsheet, feed or calendar. Organise into folders, tag for reuse.

drag & drop
03

Build & arrange

Sequence playlists and lay out zones on the visual canvas — or clone one of eight gallery templates and tweak.

no code
04

Schedule & publish

Set dayparts, target devices or groups, hit publish. Players pull the offline bundle and start playing.

instant
05

Monitor & report

Watch screens live, pull a screenshot, send remote commands, and review proof-of-play and analytics.

ongoing
§ 06 — Where it shines

Made for any wall worth watching.

RETAILStores & mallsPromos, menus, wayfinding
QSRRestaurants & cafésDigital menu boards by daypart
TRANSPORTAirports & transitLive info, gates & tickers
CORPORATEOffices & lobbiesInternal comms & dashboards
EDUCATIONCampusesAnnouncements & events
HEALTHHospitals & clinicsQueue & guidance screens
HOSPITALITYHotels & venuesWelcome & event signage
MEDIAAd networksProof-of-play billing
§ 07 — Questions

The things buyers always ask.

Yes — the platform is offline-first. Each player downloads a complete signed bundle (schedules, playlists, layouts and media) and plays entirely from local storage. It re-syncs automatically when something changes and the connection returns, so an outage never blanks your screens.
Images, video and audio, plus file-less content you build right in the console: rich text, scrolling tickers, clocks and calendars, and live video streams (RTSP, HLS or RTMP). Widgets can be bound to a dataset so prices, menus and rosters update themselves. All of it flows through the same playlists, multi-zone layouts and schedules — and travels in the offline bundle so it keeps playing without a connection.
Any Android media box, TV or panel running our kiosk player, or an iPhone or iPad running the same player — both render identical layouts, playlists and schedules. Native players for LG webOS and Samsung Tizen commercial displays are on the roadmap.
Yes. Datasets can come from a CSV or JSON upload, a remote URL polled on a schedule, or a Google Sheet, and any widget can bind to their columns. Calendars can come from an ICS feed or a per-organisation Google or Microsoft 365 connection, with a privacy mode that shows "Busy" instead of meeting titles.
Absolutely. The backend is multi-tenant with complete row-level isolation, so each organisation only ever sees its own content, devices and reports — backed by granular role-based access control within each org.
Yes — opt-in proof-of-play records every asset play per device and uploads it for reporting. Combined with the analytics dashboards and CSV/scheduled exports, it's everything you need to bill advertisers or pass an audit.
It ships with a documented REST API and signed outbound webhooks, so events (like a device going offline) can trigger your tools, and content or devices can be driven programmatically. We also build custom integrations as part of an engagement.
Both are possible. The whole stack ships as a single production Docker Compose file with TLS at the edge — run it against your own managed database and object storage, or self-contained — as a service we operate for you, or in your own cloud or on-premise. Let's scope what fits your security and scale needs.
◆

Got screens to fill?
Let's light them up.

Tell us how many screens, where they are, and what you want them to do. We'll show you the platform live and map out a rollout that fits.