Django REST + React 18
60+ endpoints on the Django side; React 18 on the reading surface. Django admin handles content moderation for free, which saved building a custom moderator UI.
Digital library for organizing, cataloging, and sharing PDF music scores. Built for musicians, educators, and institutions to manage sheet music collections.
Musicians and music schools manage score collections in Dropbox, spreadsheets, and paper folders. MSL replaces that with a searchable, taggable, collaborative score library with a built-in PDF viewer — so students can open a score, zoom, and read without downloading anything.
MSL is a full-stack music score library with a React 18 frontend and Django REST API backend with 60+ endpoints. Features include multiple library management (public/private), rich metadata tagging (composer, period, difficulty, work type), collaboration with 3 permission levels, global search with filtering, built-in PDF viewer with zoom and dark/light theme, activity tracking, in-app notifications, and batch upload up to 20 scores.
60+ endpoints on the Django side; React 18 on the reading surface. Django admin handles content moderation for free, which saved building a custom moderator UI.
Every score carries composer, period, difficulty, work type, and custom tags. Search runs over structured fields, not just filenames — so "Bach · Baroque · intermediate" returns exactly that.
Owner / editor / viewer permissions applied per library. Lets a school split public/private collections — a master catalog open to students, a private working set for faculty.