The primary user is a person with curly hair whose hair tends to turn frizzy under certain weather conditions.
It can be confusing and difficult for a person with curly hair to figure out how to take care of their hair. Certain weather conditions play a huge role in what a person's hair will look like for that day. While people with curly hair have different textures and thus respond differentially to the weather, most curly-haired folks dislike how humidity affects their locks. However, hair chemists point to more complex factors as the culprits: namely, dew point. Thus, it would be helpful to quickly and accurately determine what kind of "hair" day it will be that day.
- View weather website in browser or from mobile app (ex: wunderground.com)
- View the day's relative humidity
- Check for rain
- Alter hair routine based on incomplete information from the steps above
- Enter location
- Receive hair frizz advisory
- User's desired zip code (NOTE: for greater accuracy, might also allow user to enter name of city name or find a module to geolocate user)
- Maybe also: desired forecast range (ex: current moment only or also one-day + ten-day)
- Hair frizz advisory (low-->high), given current weather conditions
- Reasoning (based mainly on dew point, but also add temperature, humidity, precipitation--maybe also wind and/or air pressure)
- Maybe also: Extended forecast (ex: one-day + ten-day)
I will use the Accuweather API. Interestingly, they have their own hair frizz index, but do not reveal how they arrived at this metric. I will need to decide if I should rely on it (as it is a complete black box) or create my own.
Accuweather's API does limit the number of free requests I can make per day to fifty. If we foresee this as an issue, then I could instead use:
- dotenv for the API key's security
- json to parse data
- requests to interact with the API
- pytest for testing purposes
- possibly also geocoder to geolocate user
I will run the program from my laptop, although I would love to put it up on heroku one day.