Field report 01 / Active development
SetFlow
Turn service intent into a prepared, safely versioned Ableton set without treating missing information as certainty.

The interface leads with the understandable result while keeping ranking and detection detail available for verification.
- Status
- Active development
- Category
- Native macOS
- Built with
- Swift / SwiftUI / Planning Center / Ableton Live / SQLite / Keychain / Local audio tools
The operating problem
A plan can look complete while the playback session behind it is still fragile.
Tracks may live on disconnected storage. A song may have two plausible local matches. A saved folder may have moved. The intended template or destination may not have been chosen yet. These are meaningfully different conditions, even if each could be flattened into a generic warning.
That language matters because the operator needs to know whether to wait, choose, repair, or proceed.
- Automatic Match
- A saved link or an unambiguous high-confidence match whose basis remains visible.
- Ambiguous Match
- Returns the decision to the operator.
- Source Unavailable
- Preserves the saved relationship while waiting for the expected storage to return.
- Link Broken
- The source is available, but the recorded folder or files no longer exist where expected.
- Intentional Skip
- Records a deliberate choice without blocking partial preparation.
The approach
The app brings recurring service preparation into one native macOS toolbox: importing plans, matching songs to local music assets, choosing a template and destination, generating reference material, and preparing the final set. It carries known work while keeping unresolved work visible.
Prepare Set is a non-linear readiness workspace rather than a step-by-step wizard. Track availability, template choice, destination, and preparation blockers remain visible and can be resolved in any order after the active plan is chosen.
This keeps the workflow flexible without hiding its state. The nearest upcoming plan can become active by default, but the user remains free to choose another. Automatic matches are easy to change. Ambiguous matches are not silently resolved. Saved links survive temporary source disconnections.
When preparation is complete, SetFlow creates local, versioned output rather than silently overwriting an existing Ableton set.
Blocker: An ambiguous match, unavailable source, broken link, or unresolved requirement remains visible until the operator resolves it or deliberately accepts an intentional skip.
Human-readable audio decisions
The same posture carries into SetFlow’s audio tools.
When aligning a reference, Session Audio defines the timing. Reference Audio is padded or trimmed to match it without stretching, warping, or pitch shifting. The interface presents the result as an action the operator can understand and verify, while keeping technical detection detail available when needed.
SetFlow also includes tools for reference-track preparation, transposition, stem separation, categorization, mixing, preview, and export. These capabilities are useful because they live inside the preparation workflow, not because they remove the operator from it.
Implementation posture
SetFlow is a native SwiftUI macOS application with local SQLite state and Keychain-backed Planning Center credentials. Asynchronous preview, export, plan-refresh, transposition, and stem-separation work uses cancellation boundaries or generation guards so stale results do not replace newer state.
The deeper design rule is simpler:
The hard part is not generating the set. It is deciding what the tool is allowed to infer.
SetFlow earns trust by respecting the difference between unavailable, uncertain, and wrong.