Inspiration
We wanted to create a smart weather assistant that goes beyond standard forecasts. Many apps give you temperature and condition, but rarely do they offer personalized advice, outfit suggestions, or sustainability tips. Our inspiration came from the idea of combining practical guidance with a friendly personality, so users feel prepared and motivated for their day.
What it does
WeatherWise provides hourly and daily weather summaries tailored to your city, along with friendly advice on what to wear depending on the temperature. It also offers sustainability suggestions, such as walking, biking, or using natural daylight when possible. The app dynamically changes the background to match the current weather and time of day, creating a visually engaging experience. All information is presented in fun, human-like messages, giving users a cheerful and practical way to plan their day.
How we built it
We built WeatherWise using Python, Flask, and the Ollama language model API. Weather data is fetched from the OpenWeatherMap API and saved as a CSV, including temperature, condition, humidity, wind speed, sunrise and sunset times, and hours of daylight. We process this data to select the most relevant hourly forecast and generate a prompt for the language model to produce friendly weather summaries, outfit recommendations, and sustainability tips. The front-end is rendered with HTML and CSS, and backgrounds update dynamically based on weather conditions and time of day.
Challenges we ran into
One challenge was designing prompts for the language model so that the output would feel natural and human-like rather than repetitive or overly technical. We also ran into some trouble when merging code changes. Another challenge was the time it takes to load weather advice. Due to the fact that each time a user enters a new city, the data is fetched from the API and then analyzed, the program takes a while to load. We also needed to account for missing or inconsistent data in the API responses and ensure the app would still run smoothly.
Accomplishments that we're proud of
We are proud that WeatherWise generates weather messages that are both practical and fun, and that the app dynamically adjusts its visuals to match real-world conditions. The integration of outfit advice and sustainability tips adds unique value compared to standard weather apps. We were also able to make the app responsive and easy to use, providing an engaging experience for users.
What we learned
We learned how to combine API data with a language model to create meaningful, human-friendly content. We gained experience handling time zones, weather data processing, and Flask app development. Additionally, we learned how to craft effective prompts for an LLM to generate concise, natural-sounding text with multiple sections and varying tone.
What's next for WeatherWise
In the future, we plan to enhance WeatherWise by including more detailed forecasts, such as precipitation probability and wind chill. We also want to add user preferences for clothing and activity suggestions, expand the sustainability tips based on location, and create a mobile-friendly interface. Another potential improvement is integrating notifications or alerts for significant weather changes to help users plan their day even more effectively. We also originally planned to sync it to the user's calendar to provide recommendations based on schedule, although we did not have enough time.

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