DORAH

The lighting console you program by talking.

Tell DORAH what the song needs. It patches the rig, builds the presets, writes the cues and the effects — and what leaves the desk is standards-compliant sACN and Art-Net, at stadium scale. Optional Guard tools can lock a certified look for venue work — off by default on normal events. Nothing hits the stage until you press GO.

Join the waitlist How the signal works ↓ one email · no forms, no tracking

sACN E1.31 · Art-Net · GDTF · MVR · NDI · SMPTE LTC

How the signal is built.
And what Fixed Look changes.

Forty times a second the console rebuilds the whole universe set from layers. Bottom layers are creative (playback, programmer, effects). Top layers are venue and safety. Whoever is higher wins on those fixtures. That is the whole story — said simply, then in order.

Normal event · Fixed Look off

Creative layers write freely. AI stores in blind. Nothing leaves the programmer onto the stage until you GO or arm. Guest and House stay off unless you turn them on. Same desk for a club night or a tour.

Venue · Fixed Look on

You bake a full look (dimmer, position, colour…). While locked, that look wins after everything creative. Unlock restores the live show underneath — no blackout, no forced re-GO. CLI: secure on/off.

Why this order

If Fixed Look sat under FX, an effect could still move a “locked” head. By applying it after guest and facility, the certified look is the last creative word before hard safety — and safety still cannot silently kill the field unless you configure override.

What is not magic

No black box between cue and cable: merge → layers → resolve → UDP. The Network page shows the same tick numbers FOH watches. Backup stations can seize output by sACN priority mid-song.

Bake, not live-ref
Fixed Look freezes absolute channel values (0…1) at lock time. Changing a preset under the desk does not move a locked fixture — you would have to unlock, edit, bake again.
Blind ≠ Fixed Look ≠ panic
Blind hides programmer/FX from the stage while you work. Fixed Look holds a certified look on. Panic is hard safety — and by default respects the lock.
AI bounds
The AI may program looks and even help prepare a bake path, but by default it cannot toggle Fixed Look or emergency. Arming the field stays human.

You talk. It programs. You verify.

The conversation is the command line. Every request becomes real programming — presets, cuelists, effects — and every reply is a verifiable change on the cue sheet. Never a mystery, never a black box.

✳ DORAH AI bridge connected · GM 100%
Operator Chorus: white strobe bump on the back trusses, and keep the amber floor from the verse.
DORAH AI Done — ✓ store cue 7 «CHORUS» --fade 0.5 — strobe bump on 46 spots, amber floor held. It's in blind: review it, then GO.

Three real exchanges on a loop: the lines are the exact feedback DORAH prints — everything lands in blind until your GO.

How the DMX leaves the desk.

Fixed-rate engine, two standard protocols, a backup already running. The console shows its own vital signs — this bench lives on Network.

The tick 25 ms
Rebuild every universe 40×/s through the stack above. Template packer ~0.12 µs per universe; optional parallel workers when the count grows.
The wire
sACN E1.31 (identity, priority, sequence, clean end-of-stream) and Art-Net with compliant ArtPoll/ArtPollReply. No ghost sources.
The backup
DORAH-Net: stations elect master/backup; backup seizes output mid-song by sACN priority. Universes can shard across stations.

Benchmarks: measured, not promised.

Production output engine · packets counted at the receiver · 100% reception verified · Mac mini M4 (10-core), Node 24. Live show vs synthetic limit, kept apart on purpose.

RigUniversesCost per 25 ms tickReceptionBandwidth
Stadium show — live · 388 fixtures705.7 ms med · 7.4 P95 · 23%full show, zero incidents
1,000 heads × 50 ch bench1000.85 ms · 3.4%100% · 40.2 Hz21 Mbit/s
1,000 heads × 100 ch bench2001.32 ms · 5.3%100% · 40.3 Hz41 Mbit/s
4,000 fixtures × 40 ch bench3342.74 ms · 11.0%100% · 40.2 Hz69 Mbit/s
Output engine alone 8 workers4,0000.70 ms · 2.8%640k / 640k packets819 Mbit/s

Full pipeline rows: merge + 2 FX on every fixture + resolver + real sACN. Green row = the live show. scripts/bench-network.js · M4 · 2026-07-24. Ceiling ~7,700 uni/tick single-thread; past gigabit → 10GbE or session shard.

▶ Hub · Show

Playback, time and the song.

Everything that runs the live show: cuelists, tracking sheet, setlist and audio analysis.

Playback

The playback is the show.

Cuelists with fade, snap, follow and per-cue effects (∿N). Fader wing, Grand Master, Programmer Time, Speed Masters, and a Fixed Look slot. ⚑ Prep for a dark opener. GO is always human.

PLAYBACKShow · GO · masters
DORAH Playback: cuelist sheet, faders, GO and masters
Cuelist

Every cuelist in one list.

Inventory of every sequence: create empty lists, open any in Playback, assign to an executor slot. Store still happens from the programmer — this page is the bank.

CUELISTShow · inventory
DORAH Cuelist: all sequences in the show
Tracking

What each cue really holds.

Pick sequence and cue, read fixtures as rows — presets and values, ◂N where content inherits. The human check after the AI has written.

TRACKINGShow · cue loupe
DORAH Tracking: per-fixture cue content with inheritance
Set

The setlist knows the clock.

Song sections on timecode: click a row, the show jumps there. Import cue points from your editor’s TSV; live offsets shift a whole song.

SETShow · timecode
DORAH Set: song sections on timecode
Audio

The song, drum-machine style.

Offline stems and onsets; each lane has a threshold; regions fire bumps on executors, quantized to the beat.

AUDIOShow · onsets
DORAH Audio: onset lanes per stem

◧ Hub · Prog

Groups, presets, tools.

What you select and what you store into — the programming pools.

Groups

Pools are keycaps.

Hardware-style cells with identity light-bars, appearance colours, batch edit. Sub-fixture groups address single cells of multi-instance machines.

GROUPSProg · pools
DORAH Groups: custom and auto pools
Preset

Complete pools, per machine.

Dimmer steps, colours, positions, gobos — built and filled by the AI. Recall is one tap; store is an armed two-step gesture.

PRESETProg · per type
DORAH Preset: pools per machine type
Tools

An hour of pool-building, one key each.

Base pools, dimmer fill, pan patterns across a truss, copy families between fixture types. Quick effects on the selection for the FX pool.

TOOLSProg · one-key ops
DORAH Tools: one-key preset operations

∿ Hub · FX

Effects, faders, video, space, colour.

BPM engines, per-cuelist FX bank, pixel mapping and the 3D / Palette tabs.

Effects

Effects think in BPM.

Four engines as tabs — Live, Table, 3D, Palette — one shared ∿ pool. Per-cell G/S: selection or group-bound.

EFFECTSFX · Live BPM
DORAH Effects Live tab with pool
PRG FX

Effects ride the cues.

Per-cuelist motorized fader bank. Raise to enter a cue, track until pulled down. Link to a Speed Master for one BPM clock.

PRG FXFX · fader bank
DORAH PRG FX motorized faders
Pixel

Video becomes light.

Clip import or NDI live through UV maps from the real layout. Plates and bulbs as pixels; floor held so video never kills the show.

PIXELFX · NDI · UV
DORAH Pixel mapping
3D

Space is an instrument.

Waves on true 3D positions: planes, radials, width — all in BPM. Store with a ⬢ badge; rides cues like any other effect.

3DFX · spatial tab
DORAH Effects 3D spatial engine
Palette

Colour from your presets.

Sequence any colour presets across the selection. Xfade from hard bands to gradient. Preset-first: fix the colour, every palette follows.

PALETTEFX · colour sequencer
DORAH Effects Palette tab

⌗ Hub · Rig

Patch and layout.

GDTF fixtures and the MVR geometry the programmer trusts.

Patch

Three subpages, one truth.

Fixtures (GDTF, auto-address, pan/tilt invert), Fixture Setup, Builder — by hand or described to the AI.

PATCHRig · 388 fixtures
DORAH Patch fixture table
Layout

The rig as it stands.

MVR geometry — trusses, towers, floor. Select by click or marquee, down to a single cell of a multi-instance machine.

LAYOUTRig · MVR
DORAH Layout stadium MVR

◎ Hub · Guard

Venue tools — optional, default off.

Fixed Look, look pool, house, emergency, guest sACN and the ops Desk. Cold on a normal event until you open them.

Fixed Look

Lock the field. Resume the show.

Bake a full look (stage, programmer, cue or pool). While ON, AI, FX, guest, facility and playback cannot change those fixtures. Unlock restores the live stack — no blackout. CLI: secure.

FIXED LOOKGuard · bake + lock
DORAH Guard Fixed Look wizard
Pool

Full looks, ready to GO.

Store complete looks (opening, half-time, finale). Desk fires them as large pads; promote any pad into Fixed Look memory.

POOLGuard · kind=look
DORAH Guard look pool
House

Service lighting, not the lock.

House / Eco for walk-in and service. They yield to Fixed Look. Optional on normal events.

HOUSEGuard · facility
DORAH Guard House and Eco
Emergency

Panic, freeze, evac.

Hard modes with confirm. With Fixed Look ON, panic by default does not black locked fixtures (field integrity). Override is explicit config.

EMERGENCYGuard · hard safety
DORAH Guard emergency controls
Guest

Foreign sACN, under policy.

Arm when another desk must feed selected universes. Merges outside Fixed Look scope. Default: disarmed.

GUESTGuard · sACN in
DORAH Guard guest sACN
Desk

Big pads. Small danger keys.

Pool pads = instant GO. House, Fixed Look, Panic, Freeze, Evac, Clear = small keys with confirm. Full-screen for a security monitor.

DESKGuard · ops surface
DORAH Guard Desk pads and critical keys

⚙ Hub · Sys

Network, setup, AI.

Session, machine settings (including language), keyboard/MIDI maps and autonomous pipelines.

Network

The desk that watches itself.

Master/backup by multicast; backup seizes output mid-song by sACN priority. Realtime bench on the page — the same numbers as above.

NETWORKSys · session + bench
DORAH Network session and bench
Setup

Set once — including language.

Timecode, audio, outputs, density. Italiano | English on the machine, not in the show. Tabs: Shortcut, MIDI, Visualizer.

SETUPSys · general · language
DORAH Setup general and language
Shortcut

Keyboard is the front panel.

Drawn key by key. Learn: arm LS, click target, press key. Letters write keywords — S 5 ⏎ is store 5. Space stays GO.

SHORTCUTSys · Setup · keys
DORAH Setup Shortcut keyboard map
MIDI

Controllers that talk back.

Same keymap as the keyboard (LM learn). X-Touch motor echo; APC LED feedback paints pads from live state — semantic colours.

MIDISys · Setup · APC LED
DORAH Setup MIDI with APC LED
AI

Pipelines on keys, chat below.

Study, program, prep, doctor — one key each, in blind. Touched chips, diff, full-run rollback. AI never toggles Fixed Look or emergency by default.

AISys · autonomous pipelines
DORAH AI pipelines view

The AI programs.
Only you arm.

Every irreversible gesture is two-step: first press arms (yellow), second fires. Store, update, delete, blackout. The AI writes in blind and can never arm the stage by itself.

Rack banners always name the state: Blind, Solo, Highlight, Fixed Look, guest, session. ⟲ Oops holds the last fifty gestures — human and AI — and undoes to any point. Venue stays optional: Guard can stay cold on a normal tour.

Try it. This one is safe here.

Battle-tested where it counts: one stadium stage, 388 fixtures, 70 universes, zero incidents. byte-level output · full show, live audience · summer 2026

Be there when the desk lights up.

Private development, limited beta ahead. One email — who you are and what you light.

Join the waitlist coming 2026 · macOS · Apple Silicon