Inspiration
We noticed that music recommendations usually focus on what you like, but not necessarily what kind of day you're having. The music someone wants on a relaxed Sunday can be completely different from what they need during a packed day of classes, meetings, and studying.
That inspired Day Energy, a calendar-aware music recommendation system that uses the structure of your day to decide what kind of music fits your current energy and how much familiar music versus new music to recommend. On lighter days, the system encourages more energetic music and discovery. On packed days, it shifts toward calmer music and familiar artists for comfort.
What it does
Day Energy analyzes a user's calendar and calculates a busy score from 0–100. The score considers how much of the day is occupied, how many events are scheduled, and how fragmented the user's free time is.
That score is translated into target musical characteristics including energy, valence, and danceability. We then use the busy score to determine the balance between familiar and discovery music. A light day gives the user more new artists to explore, while a packed day prioritizes artists they already listen to.
For our demo, a light day received a score of 26/100, a typical day scored 66/100, and a packed day scored 89/100. Each produces a noticeably different personalized soundtrack.
How we built it
We built our recommendation pipeline in Python. Our calendar algorithm processes Google Calendar-style event data, handles overlapping events, and calculates busy time, event load, free time, and schedule fragmentation.
For the music side, we used a dataset of approximately 114,000 tracks with Spotify audio features containing features such as energy, valence, danceability, popularity, artist, and track name. Using pandas, we score each song based on how closely its characteristics match the musical targets generated from the calendar.
We also created a listening profile based on recent Spotify listening. Artists from the user's existing listening profile are considered familiar, while other artists become discovery recommendations.
Finally, we built the interface using HTML, CSS, and JavaScript. It displays each day's busy score, schedule statistics, familiar/discovery balance, and personalized soundtrack. Users can also open recommended songs directly in Spotify.
Challenges we ran into
One of our biggest challenges was figuring out how to quantify something as subjective as a "busy day." Simply counting events wasn't enough. A few long events can take up an entire day, while many short events can make free time extremely fragmented. We therefore combined occupied time, event count, and the length of uninterrupted free periods.
We also had to decide how busyness should affect music. Instead of assuming a stressful day requires more energetic music, we designed the system around comfort: as a day becomes busier, recommendations become calmer and increasingly familiar.
On the technical side, we worked through issues involving Python module conflicts, file paths, processing a large music dataset, correctly matching collaborations with multiple artists, and integrating the recommendation system with the frontend.
Accomplishments that we're proud of
We’re proud that we turned something as subjective as how “busy” a day feels into a working algorithm that uses calendar data to generate personalized music recommendations.
What we learned
We learned that recommendation systems can incorporate more than a user's previous preferences. Context can be just as important as taste. By combining schedule data with listening preferences, we were able to create recommendations that respond to what the user's day actually looks like.
We also gained experience with Python, pandas, recommendation algorithms, calendar data, frontend development, GitHub, and connecting multiple components into an end-to-end prototype.
What's next for Day Energy
With more time, we would integrate live Google Calendar and Spotify APIs so Day Energy could automatically analyze a user's real schedule and listening history. We would also create Spotify playlists automatically, incorporate signals such as time of day and activity type, and let users customize how strongly their schedule influences their recommendations.
Our goal is for Day Energy to create a soundtrack that changes not only with your music taste, but with your life.

Log in or sign up for Devpost to join the conversation.