Inspiration

Music teachers utilize many different “old-school” systems (pen and paper or manually collecting availability through emails every week) for scheduling lessons. Nick and Jeffrey, both taking private music lessons with different professors at the University of Washington School of Music, have both experienced a common struggle of "scheduling hell": when our busy teachers, with second and even third jobs playing in local symphonies and ensembles, scramble to get all of their students to tell them their availability so that they can manually create some teaching schedule. We thought: there must be a better way.

What it does

We are different from the vast majority of existing scheduling tools, which are meant for finding a singular common time for everyone to meet (e.g. when2meet) rather than one-on-one. Others that are built for 1:1s or appointments still don’t take into account any of the special considerations for music lesson scheduling. The goal is to provide an application focused on our use case, making it easy and automatic for music teachers to gather everyone's availability and create an optimal teaching schedule that minimizes the number of days they need to come to campus and maximizes the number of back-to-back lessons to reduce downtime.

How we built it

Our frontend is built using React, with many UX elements taken from a Material Tailwind UI template. Our backend is written in Python and Flask. We wrote a custom optimal scheduling algorithm based on max flow algorithms. We implemented authentication ourselves, salting and hashing the passwords for music teachers' accounts. We created our own SQL schemas for storing our unique scheduling data and store these via AWS.

Challenges we ran into

As to be expected, we ran into our fair share of technical struggles! Despite issues getting AWS set up to have our SQL server online and not being able to register our GoDaddy domain name, we still accomplished our goals and implemented all of our planned MVP features for this project, as well as a few more!

Accomplishments that we're proud of

We are so happy to create a product that we know will have impact and be used across not only the University of Washington School of Music but by music teachers around the world, collegiate or otherwise.

What we learned

Our team had to take on many roles we were not typically used to doing to get MusiCal built and deployed. For example, none of us have much UX experience, but we relied on user testing with fellow music students and reasonable visual judgment to create the end result of a website with a friendly, inviting user interface.

What's next for MusiCal

We hope to be found soon in many music teachers' studios, enabling them to focus less on scheduling logistics and more on embracing music's powerful role in bringing people closer together.

Share this project:

Updates