Inspiration 🌞
We created this SPF monitoring web application that would help users plan a safe and fun beach day.
What it does 🌞
The project has achieved two main goals: to provide the user with the current UV index based on a ZIP code and a timer for the user to know how long they can stay in the sun before they would get a sunburn. The "skin type" and "timing" information is based on a research article from the "National Library of Medicine": https://www.ncbi.nlm.nih.gov/books/NBK321117/.
Additional features beyond this are a skin type questionnaire, a table of nearby beaches, and a map of nearby beaches.
How we built it 🌞
This project was built using Streamlit, a web app framework, and some APIs (OpenWeatherMap, GoogleAPIs, MapBox / Folium, and RainForest). OpenWeatherMap allowed us to get the UV index for the current day. GoogleAPIs allowed us to get nearby beaches from the location specified. MapBox and Folium allowed us to create and specify where the beach locations were. RainForest is used to search for beach-related items on Amazon. Streamlit Cloud allowed us to deploy our web application.
Challenges we ran into 🌞
One of the challenges we ran into was trying to use the RainForest API to search for beach-related items. We were initially able to search for both sunscreen and beach towels and use refinements to filter the search results (such as SPF or towel size). A "generic search" was about to be added as well. However the API key for the Rainforest API was locked out. Unfortunately, we had to cut this feature out.
Another feature planned was to use beach images from the Google Maps API; however, due to incompatibility with getting the StreamLit Image function and Google Place Images to work, this feature was reduced to one image.
Accomplishments that we're proud of 🌞
One of the accomplishments is that we achieved the two main goals of the application and we added features beyond that.
What we learned 🌞
One of the lessons we learned is that some APIs are unpredictable.
What's next for Beach Day Planner 🌞
We planned to allow more beach-related items to be queried in the search using a different API. Another feature is to have the items in the search query show the image of the product in the search results.
Built With
- folium
- googleapis
- openweathermap
- python
- streamlit
Log in or sign up for Devpost to join the conversation.