About this project

TroubaStack provides a complete workflow for bands and ensembles to manage their repertoire, from rehearsal editing to live performance. The system is divided into three primary components: - TroubaStudio: A canvas-first, reactive web editor for real-time collaborative annotation of scores and lyrics. It supports shapes, text, highlights, and chord transposition for text charts. - TroubaCore: A single Go binary that acts as the authoritative server, managing state, real-time synchronization, and the "baking" of setlists into performable bundles. - TroubaStage: A Kotlin/Compose Multiplatform mobile app (Android and iOS simulator) designed for offline performance. It includes stage-specific features such as pedal page turns, night mode, count-in, and role-based annotation layers. The platform supports multi-user synchronization, per-member annotation layers, and a distribution pipeline where setlists are baked on the server and downloaded in-app for offline use. It can be deployed via Docker with Caddy for TLS support.