Musical Theater Song Search — Modern Rewrite
MusicalTheaterSongs.com is a specialist search platform used by musical-theatre students, teachers and institutions to find repertoire from more than 11,000 songs. Users can search by voice, range, mood, key and many other musical criteria, while administrators manage the catalogue, subscriptions and institutional access.
This is the second rewrite of the application. The previous Derby and MongoDB application had served the business for more than a decade, but its aging framework made maintenance and further development increasingly difficult. The rewrite replaces that foundation with TypeScript, Cloudflare Workers and D1, while carefully migrating the application’s data and business rules.
The new application deliberately avoids a client-side framework. Pages are rendered on the server as straightforward HTML, with only small, purposeful JavaScript enhancements where interaction is needed. This keeps the architecture explicit, fast and easier to maintain over the long term—without tying the product to another fast-moving frontend ecosystem. It also makes the application more resilient to framework churn: the core is built from durable web standards rather than a large, rapidly changing frontend stack.
Accessibility is a central part of the rewrite, not a final polish pass. The work includes semantic page structure, keyboard-friendly interactions, visible focus states, accessible forms and error messages, and automated and manual checks against WCAG guidance. A dedicated accessibility feedback form gives users a direct way to report barriers, so real-world feedback can become part of the improvement cycle.
The project remains actively developed. Alongside modern authentication, Stripe subscription flows and institutional access, the next phase will add more AI-assisted capabilities to help users explore a large, specialised repertoire more naturally and efficiently. The goal is to extend the search experience without compromising the clarity, performance and long-term maintainability established by the rewrite.
TypeScript, Cloudflare Workers, Hono, D1, SQLite, Server-Side Rendering, HTML, CSS, Alpine.js, Stripe, Authentication, Accessibility, WCAG, MongoDB Migration, AI-assisted Search, Responsive Layout