Weatherbox

Project Overview


Role: Developer & Design


Duration: 1 Week


Project Website:


Weatherbox


Email me for Github access

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

Create a free website with Framer, the website builder loved by startups, designers and agencies.