flow.state
← flow.state
The rig

Feet loop. Hands play. The tablet watches.

Everything on the table on a demo night, what each piece does, and a set building in front of you.

Signal map

One laptop in the middle. Six things around it.

Sound comes in through the interface and goes back out through it. Every controller reaches the laptop over USB. The tablet reaches it over Wi-Fi and can only ask for a bounded set of things. Hover any box to see its wires.

Oud or mic LIVE INPUT Headphones OR THE PA APC40 mkII HANDS UltraLite MOTU · 48 KHZ IN 1 · OUT 1 AND 2 flow.state MACBOOK PRO SIX LANES MOVES · PLUGINS SoftStep 2 FEET MPK mini KEYS iPad WI-FI · WATCHES
Audio USB MIDI Wi-Fi
Oud or micinto the interface, monitored on lane 6
UltraLiteaudio in and out, fixed at 48 kHz
flow.stateon the MacBook Pro, in the middle of everything
APC40 mkIIUSB MIDI, the hands
SoftStep 2USB MIDI, the feet
MPK miniUSB MIDI, plays the hosted synth
iPadWi-Fi, a browser, bounded verbs only
Headphones or PAfrom the interface outputs

The laptop never writes tempo, transport, or scenes to anything else in the room. It only listens to the clock.

The hardware

Each box has one job.

A device is either an instrument or a control surface, never both. Controllers are matched by name to a profile. Anything unmatched is treated as an instrument and can never record, loop, or panic the rig.

MacBook Pro
Runs flow.state
Native macOS app. Six loop lanes that never move, a master rack, macro moves, hosted Audio Units, and the tablet server, all in one window.
Six lanesMovesPluginsTablet server
Verified on the full gate suite
MOTU UltraLite-mk5
Audio in and out
The interface. The engine runs at a fixed 48 kHz and picks this box by name, then remembers it. One box carries both input and output, so there is one clock.
Input 1 to lane 6Outputs 1 and 248 kHz128 frames
Picked automatically
Akai APC40 mkII
The hands
The grid records lanes. Strip faders ride lane levels and the master fader is the fade. Scene buttons arm a 2, 4, or 8 bar riser and fire the impact on the downbeat. Stop All is PANIC.
RecordMuteLevelsFadeRisersPanic
Fully mapped
KMI SoftStep 2
The feet
Top row records perc, bass, pads, melody, and keys, the lanes the hands cannot reach. Bottom row layers a loop on a tap, stops it on a double tap, clears it on a hold. Pad ten is PANIC.
RecordLayerStopClearPanic
Expression pedal waits on a learn pass
Akai MPK mini
The keys
Plays the hosted synth on the keys lane, live over the loops. It is deliberately not a command surface: its notes can never record, stop, or panic anything.
OmnisphereKeys laneInstrument only
Plug in and play
Oud or a microphone
Live input
Into input 1 on the interface. It monitors through the lane's own tone and effects on lane 6 and records into it. Mono is centred, so a single channel never sits hard left.
Lane 6MonoThrough the plugins
Needs the microphone grant once
iPad
Watches, and asks
A plain browser on the same Wi-Fi. Five tabs: feet, console, grid, moves, health. It can mute, record, fade, and run a move. It cannot touch a plugin parameter or trim a lane.
FeetConsoleGridMovesHealth
Bounded to ten verbs
Headphones or a PA
What the room hears
Off the interface outputs. The master fade is the last thing before the room, and it is the thing a move rides and the thing PANIC never touches.
Master fadeLevel governor
Ride the interface knob for level
The travel kit Swap the MOTU and APC40 for an iRig Pro Duo, a classical guitar into the Hi-Z input, the SoftStep, the MPK mini, and headphones. Everything the foot can reach still works. The bass and keys layers move to the app. This kit has not yet been plugged into the current build.
Nothing plugged in The built-in output works. The synth risers, impacts, and the master rack all make sound with no input at all, and the bundled demo library plays from the decks. Every lane verb is on screen and on the keyboard.
The demo

Watch a set build.

A two minute set in forty seconds. Every loop below is fired from a real device, and the device lights up as it fires. Bars run fast here so you can see the shape of it.

1
bar
1
beat
·
bpm
First loop sets tempo
Now
Press play. The first thing that happens is a foot on a pad.
Recent loop events
·no loop events yet
SoftStep
APC40
MPK mini
Oud
iPad
UltraLite

A scripted walkthrough of the real verb set. Not a recording.

Soundcheck

Six steps from the case to the first loop.

In the order that isolates a fault fastest. Most of it is a first-launch step, not a per-gig one, because the app remembers the device by its identity and the mappings live in files.

1
Plug the interface in first.
The engine is fixed at 48 kHz and never negotiates. Set the interface there before launching, and it is one clock for input and output.
2
Launch and say yes to the microphone.
Refuse it and takes record silence. The app is still fully usable with input off: decks, risers, and every synth voice play.
3
Pick the output once.
SETUP, DEVICE, click the interface. The input follows it. Leave the buffer at 128 unless you hear crackle.
4
Read the controllers card.
The APC40 and SoftStep show a teal dot, driving loop commands. The MPK mini shows a dim dot, going to the keys lane. Anything else is a profile that did not match.
5
Set the input to live and mono.
Pick the channel the instrument is on. Monitor through the app so you hear the plugins at the latency printed on the chip.
6
Record one loop and close it.
One press arms, the second closes on the bar. The first loop sets the tempo for the night. Then the feet take over.
Verified 4 Sept 2026 11 gates clean 433 engine tests 9 virtual rig drills

What has been proven, and what is still a claim.

The full gate suite ran clean on the demo machine with the interface connected: engine tests twice, a zero-warning build, a launch smoke, the tablet wire, and nine drills that fire virtual controllers under the real device names and measure the audio.

ProvenGrid and pedal presses record, layer, stop, and panic lanes, from virtual devices with the hardware names
ProvenA move rides the master fade and a riser raises it into the downbeat, measured at the master tap
ProvenThe tablet page serves, streams, and refuses every verb outside its allowlist
ClaimThe SoftStep expression pedal, until one learn pass on site
ClaimThe travel kit, which has not been plugged into this build
Not yetLevels and ears in a room. Every number above is a starting point, not a measurement.

If you want to see it on a table, with the pedal on the floor, ask.

nathan.levin@gmail.com