Band Director Workflow Automation Platform
A private web application that replaces a fragile, manual booking workflow with a structured, automated system for generating player-ready resources and correspondence.
Define the Problem
Booking musicians required assembling set lists, charts, audio references, and show notes from multiple locations. The process took up to two hours per gig, was highly error-prone, and frequently required follow-up emails due to missing or inconsistent information. All critical information needed to be centralized, reliable, and easy for players to access.
Constraints
- Human input is inconsistent and error-prone
- Data lives across private Google services (Drive, Docs, Gmail)
- App must be usable by non-technical users
- Security required (restricted OAuth access)
- Must be free to host and operate
Solution Approach
I replaced free-form human input with a guided, structured interface that produces predictable, machine-readable output, which then drives a fully automated backend workflow.
Set Building User Interface
- Google OAuth login
- Song bank pulled dynamically from Google Sheets
- Dual-list selection UI (available songs → selected set)
- Drag-and-drop reordering
- Live set duration tracking
Backend Automation Pipeline
- Rehydrates song objects by ID from submitted JSON
- Creates structured folders in Google Drive
- Generates a formatted Google Doc setlist
- Exports a PDF version automatically
- Links charts and audio references via Drive shortcuts
- Flags missing charts for follow-up
- Generates a Gmail draft with:
- Resource links
- Outstanding action items
- Song-specific show notes
Tools and Technologies
- Flask
- Python
- Google APIs (Drive, Docs, Gmail, Sheets)
- Google OAuth
Results
- Reduced prep time from ~2 hours to minutes
- Eliminated missing information/files and follow-up emails
- Created a consistent, predictable format for recurring players
- Actively used in real booking workflows
Conclusion
This was my first live web application. The frontend was built with minimal JavaScript and CSS knowledge, prioritizing functionality over polish. Later frontend learning informed how I would approach this differently today, but the system architecture and automation decisions remain sound.
Example
Here is an example of the folder structure after the automation runs, a formatted setlist and the automated email draft.