Weatherbox
Weatherbox is a web application project that takes in the user's desired location and creates a Spotify playlist based on the weather, adding it to their library. The project was developed over a 1-week period using Python, HTML, and CSS.
Objective: Build a functional web application that uses 2 distinct public APIs.
*web application won't generate a playlist on your Spotify account unless I add your email as a tester

Problem
Morning Routine
What's the first thing that I do when I wake up? Check the weather and decide what kind of music to play to jumpstart my day.
Efficiency
Why not combine both of these into one?
Ideation

Tools



API Resources
OpenWeather
When given the longitude and lattitude, provides real-time weather forecast, my project took the temperature and the type of weather.
Spotify
Allowed access to their music and user data, it allowed my project to create a playlist of songs in a user's account with authorization.
Weather Formula
Temperature
Taking the temperature from OpenWeather, I gave each range of temperatures a categorization. (<32 is "freezing", < 50 is "cold", etc.)
Combinations
Taking all the possible types of weather (condition) from OpenWeather, I matched each one with a temperature designation so that I had a variety of possible weather scenarios. ("Freezing_Clear", "Freezing_Cloudy", "Cold_Rainy", etc.)
Song Dictionary
Preset Songs
I created a dictionary of 50 songs for each potential weather combination.

Playlist Creation
Selected Songs
A playlist is generated that randomly selects the songs from the dictionary of songs created, the amount of songs was decided by the user.

Authorization
The user is then prompted to sign in to their Spotify account in order to generate the playlist.

Playlist Created
The user can then download and listen to their newly created playlist for the day based off of the weather!

Learnings & Takeaways
This project challenged me to apply my newly learned skills of Python & HTML/CSS to a functional product using 2 different API resources.
I learned how to organize/store info from the APIs, handle redirects, and securely connect the application to the user's account.
Ideation and design were essential to ensure the product accomplished the goal of the application in a clear and concise manner.
Other Projects