Hosted-for-fun
2026zoia-editor
Web-based visual signal-flow editor and patch authoring workbench for Empress ZOIA.
zoia-editor is a web-based visual signal-flow editor and patch authoring workbench for the Empress ZOIA and Euroburo modular pedal synthesizers. It allows you to build, visualize, inspect, and export patches directly in the browser.

The Backstory
I recently bought a Euroburo to handle multiple tasks in parallel for my live setup. While waiting for the hardware to arrive, I couldn't stop thinking about how much easier patch design would be with a proper visual canvas. I started discussing the concept with my coding agent and stumbled upon zoia_lib, an excellent reverse-engineered Python library for decoding and encoding ZOIA binary patches.
That became the baseline: combine a fast, visual signal-flow canvas in the browser with a Python codec service to enable real-world round-trip editing for ZOIA patches.
What It Can Do
- Visual Signal-Flow Canvas: Drag-and-drop node graph powered by React Flow, making audio and CV routing intuitive and visual.
- Author Patches from Scratch: Build simple linear mono chains or complex modular patches with arbitrary routing across audio, control voltages, and MIDI endpoints.
- Import & Export: Seamlessly load and export native Empress ZOIA
.binfiles or portable.zoia.jsonPatch Documents. - Browser-Local Autosave & History: Full undo/redo stack and automatic local persistence via IndexedDB so you never lose in-progress work.
- Patchstorage Integration: Browse, search, and load community presets directly from Patchstorage inside the editor.
- Module Library: Rich module catalog covering VCAs, filters, compressors, delays, reverbs, LFOs, sequencers, loopers, MIDI handlers, and CV utilities.
How It's Built
The web app is built with TypeScript, React, and @xyflow/react (React Flow), bundled with Vite. Patch authoring, topology validation, and IndexedDB draft storage run completely client-side in the browser.
Binary operations (.bin import and export) are handled via a local/stateless Hosted Codec adapter written in Python with FastAPI, wrapping pinned zoia_lib routines to decode and compile binary structures without persisting any user patch data on the server.
Built with coding agents 🤖: The project was fully built in collaboration with coding agents, guided by clean software engineering practices—comprehensive test suites, domain separation, typed schemas, and compiler conformance testing.
Current State & What's Next
The editor is hosted and freely accessible at zoia.eimerreis.de for anyone in the ZOIA community to use, test, and provide feedback on. I also shared an early look with the community on Reddit.
A few areas are actively being improved:
- CV scaling & connection ranges: ZOIA uses internal control voltage values for parameter connections, so dialing in attenuation ranges in the UI can still be trial-and-error prone. Further adopting
zoia_lib's scaling logic will make this much smoother. - Connection handles: Refining connector ergonomics and cable pathing on high-density patches.
- Hardware testing: Expanding the conformance test suite across more module combinations on physical hardware.
The project is fully open source under the GPL-3.0 license and hosted on GitHub.