A web product for discovering, organizing, and practicing traditional Galician music, built on top of the Folkoteca Galega catalog.
Context
Traditional music archives are culturally rich, but they are often difficult to navigate and not designed for regular practice. Tradisong started as a way to turn a static corpus into a day-to-day tool for musicians: searchable, playable, and structured around progression.
What I built
Tradisong provides:
- A browsable catalog of 1242 pieces across 24 categories, with category pages and piece-level detail
- Live search endpoints and interfaces to quickly find songs by title
- Piece pages with audio/MIDI proxy playback and score access tied to source content
- A personal repertoire system where users can mark songs as saved, learning, or known
- Game modes for guided practice and guess-the-song sessions based on each user pool
- Optional social workflows (friends and groups) to compare known repertoire and coordinate setlists
Technical approach
I implemented Tradisong as a Flask application with modular route blueprints (songs, games, repertoire, groups, and friends), SQLAlchemy models, and login-protected user workflows. The architecture prioritizes short interaction loops (search -> open song -> practice) and API-backed UI updates for fast feedback, while keeping data relationships explicit enough to support collaboration and future feature growth.
Outcome
Tradisong evolved from a simple catalog browser into a complete learning product: discover music, track personal progress, and practice with intentional flows. It demonstrates how product design plus practical backend architecture can make heritage music collections more accessible, actionable, and engaging for regular use.