DuoStave
An offline sheet-music reader that links two Android tablets into one open book: the left page on one, the right page on the other, turning together with a tap or a pedal. Free and open source.
- Role
- Side project · product, engineering and design
- Stack
- 2
- tablets act as one open book, turning together over Bluetooth
- 0
- servers, accounts or signal needed on stage
- AGPL-3.0
- open source: app, cloud Worker and web client
One tablet shows one page, and a musician turns pages far more often than they would like. DuoStave puts two tablets side by side as one open book: the left tablet shows the left page, the right tablet the right page, and they turn together.
Put the same score on both, tap Host on the left one and type a 4-digit code on the right one. From then on pages turn together, pencil marks appear on both screens as you draw, the page-turn pedal works and the screen never sleeps.
What it does
- One open book. Two paired tablets, two full pages, one turn.
- Offline link. Page turns, annotations and concert control travel over Bluetooth Low Energy. It works in a rehearsal hall with no wifi and no signal.
- MusicXML, PDF and images. The same MusicXML file paginates the same way on both tablets, so the pages always match.
- Live annotations. Pencil, highlighter, eraser and undo, mirrored on both screens.
- Setlists and concert mode. The pedal walks through pieces and pages.
- Score tools. Transposition, playback through a built-in synthesizer and paper score capture with the camera.
Built for the stage
A concert is the worst moment for software to fail, so most of the engineering goes into recovery:
- Page turns are absolute and idempotent: if both tablets briefly disagree, the next message puts them back on the same page.
- Annotations merge last writer wins on a hybrid logical clock, so marks drawn on either side during a dropout never get lost.
- Book state persists for crash recovery, and every reconnect runs a resync handshake. If something drops, you are playing again in seconds.
Privacy
No accounts, no analytics, no crash reporting, no telemetry. Library sync and cloud backup are optional and off until you turn them on.
Open source
DuoStave is free software under the GNU AGPL v3. The Android app, the cloud Worker for sync and backup, and the web client are all in the repository, and the README explains how to build it from a clean clone and how to self-host the cloud parts.
Where it is now
It’s in alpha, in closed testing on Google Play and tested mostly on TCL NXTPAPER tablets. If you play from tablets, join the beta and tell me what breaks.
Drafted with AI, edited by hand. I publish it when it sounds like me.