BandPilot
The Challenge
Cover bands run the night off a sheet of paper. The set gets written in the afternoon, the room turns out to want something else, and the change happens by shouting across a stage between songs. Most apps that claim to fix this are either a notes file with a logo on it or a rehearsal tool that assumes you are a touring act with a manager.
The request problem is the interesting one. A request from the crowd is good for the room and bad for the set, because saying yes means somebody has to know what key it is in, whether everyone actually knows it, and what it does to the next forty minutes.
The Approach
BandPilot is a React and TypeScript app on Supabase, with Postgres row-level security handling isolation so one band cannot read another band's material. Sets are drag-and-drop. The song library is shared across the band, so what one member fixes at home, everyone has at soundcheck.
Requests arrive from the room into a queue the band controls, instead of a shout across the stage. Accessibility is tested in continuous integration with axe-core and the end-to-end suite runs in Playwright, because the thing most likely to break is the thing you are operating on a dark stage with one hand.
The Result
BandPilot is live at bandpilotapp.com and in the hands of real bands, including the one that prompted it. The free tier is unlimited songs and three setlists, with no card.
It is pre-1.0, and the current work is not features. It is backups with a restore that has been proven, the security pass over the money path, and the database migrations that have to land before anyone is charged a dollar. Taking payments before rehearsing a restore is how a small product becomes somebody else's bad week.