The Electron desktop app for authoring shows. The only tool that writes nodes.json. Run offline on a laptop — no Helm needed — and export when you're ready to upload.
Compose is offline-first by design. It never talks to a Helm. Show designers work on planes, in coffee shops, on long flights to install sites. Validate locally. Simulate with mock mode. Export when ready.
Add buildings, drop in nodes, configure channels, build groups, sequence steps. Every nodes.json field exposed as a labeled form input.
Press play and watch the timeline run with a visual playhead. Every trigger logs as if it were going to a real node. Cooldowns enforced.
Compose blocks export on invalid configurations. Duplicate IPs, missing channels, broken group references, invalid cron — caught before they reach Helm.
Compose projects are a folder: nodes.json plus media files, plus an editor history. Version-control the folder. Diff between revisions.
For Polaris A and V channels, drop in audio/video files. Compose stages them for upload to node flash during the next OTA flash window.
File save for hand-delivery. USB drive export for walking it to Helm. Direct POST /api/config to Cuemaster when you're on TrueNorth.
Compose creates a starter nodes.json with venue name, timezone, empty arrays, and a sample bootSequence pointer.
Add buildings, then nodes inside them, then channels on each node. Define groups for reusable target bundles. Build sequences. Wire up schedules.
Hit play. Watch the timeline. Catch a cooldown violation on step 14 before it ships. Iterate.
File → Export Show. Compose validates one more time, refuses if invalid, writes nodes.json. Hand it to the venue tech or upload it directly.
The most expensive bug is one that lands at a live venue. Compose blocks export on every known schema error — so the only thing reaching Helm is a config that already passed the same validation HelmOS will run.
pulseMs > cooldownMsdelayMs not monotonically non-decreasing10.0.0.0/24▸ Validating project… ✗ PULSE_EXCEEDS_COOLDOWN at nodes.002.channels.4 pulseMs (5000) > cooldownMs (2000) ✗ CHANNEL_NOT_FOUND at sequences.intro.steps[3] node 003 has no channel 7 Fix these two issues before export // after fix: ✓ Schema valid 12 nodes · 64 channels · 8 sequences 3 schedules · 5 groups · ready to ship
| Windows | Compose-Setup-1.0.0.exe — Windows 10 64-bit or later |
|---|---|
| macOS | Compose-1.0.0.dmg — macOS 12 Monterey or later, universal Intel + Apple Silicon |
| Runtime | Electron — Chromium + Node.js bundled |
| Install size | ~92 MB |
| Storage per project | Variable — nodes.json is small, media files dominate |
| Internet required | No — fully offline after install |
| Auto-update | Manual download from downloads |
Compose is a free download. Start a new project, drop in a sample nodes.json from our downloads page, and you're authoring in under five minutes.