Inspiration
Outfit Buddy started with a very simple problem: checking the weather tells you the temperature, but it does not always tell you what that actually means for what you should wear.
A forecast of 14°C can feel very different depending on the wind, rain, time of day, or what you are doing. The same problem becomes even more annoying when packing for a trip: you end up switching between weather apps, notes, packing lists, and your own best guesses.
I wanted to build something calmer and more practical: an app that turns weather data into clear, everyday recommendations, both for what to wear today and what to pack for a trip.
That became Outfit Buddy.
What it does
Outfit Buddy uses weather conditions and the user's preferences to provide simple clothing recommendations for today and tomorrow.
Instead of only showing numbers, it translates the forecast into suggestions such as whether you may want lighter or warmer trousers, a jacket, an umbrella, or additional layers.
For travel, users can create a trip, choose their destination and dates, and generate a weather-aware packing plan. The app combines the forecast with trip details and clothing preferences to create a practical checklist that can be checked off while packing.
The goal is not to build a digital wardrobe or tell people exactly what outfit to wear. Outfit Buddy deliberately stays lightweight and gives useful guidance while leaving the final choice to the user.
How I built it
Outfit Buddy is a native iOS app built in SwiftUI.
I use WeatherKit for weather data and Apple's location and search frameworks for destination discovery. Trips and packing information are stored locally using SwiftData.
The recommendation layer sits between the raw forecast and the interface. It interprets factors such as temperature, precipitation and changing conditions throughout the day, then turns them into simpler clothing guidance.
For monetization, the app has a free experience supported by ads, with RevenueCat handling the in-app purchase that allows users to permanently remove ads.
A big part of the project has also been the visual experience. Outfit Buddy is part of initsoga, my collection of small independent apps, and uses Soga, a little orange cat mascot, throughout the product. I wanted the app to feel friendly without overwhelming the actual utility.
Challenges I ran into
One of the biggest challenges was deciding how opinionated the recommendations should be.
Weather is objective, but clothing is not. Someone may consider 18°C warm while someone else reaches for a jacket. Rather than pretending there is a universally correct outfit, I designed the recommendation system around ranges, preferences and practical suggestions.
Travel introduces another challenge: weather forecasts do not reliably cover every day of a longer future trip. The app therefore needs to distinguish between days backed by an actual forecast and days that require estimation, instead of presenting uncertain information as fact.
There were also plenty of smaller product challenges: handling location permissions gracefully, making destination search feel responsive, adapting units and formatting to the user's locale, and keeping the packing flow useful without turning it into a complicated travel planner.
Accomplishments that I'm proud of
I'm proud of keeping Outfit Buddy focused.
It would have been easy to turn the project into a wardrobe manager, travel planner or another full-featured weather app. Instead, I kept coming back to the same question: does this make deciding what to wear or pack easier?
I'm also proud of the travel experience, which brings destination weather, trip context and a practical packing checklist into one simple flow.
Finally, building a coherent personality around Soga while keeping the interface useful and uncluttered has been an important part of the project. The result feels playful without losing sight of the problem the app is meant to solve.
What I learned
The biggest lesson was that the interesting part of a weather app is often not retrieving weather data. It is deciding what to do with it.
Building Outfit Buddy pushed me to think much more about the layer between raw data and a useful decision: how much information to expose, when to simplify, how to communicate uncertainty, and when the app should avoid making a decision on the user's behalf.
I also learned a lot about designing around a very narrow everyday problem. Each additional feature has to earn its place. The challenge has been keeping Outfit Buddy small enough to remain immediately understandable while making it useful enough that people want to open it again tomorrow.
What's next for Outfit Buddy
The first release focuses on the core loop: check what to wear, plan a trip, and pack for it.
Next, I want to improve the recommendation engine based on real usage, make packing suggestions more nuanced, and refine personalization without requiring users to manually catalogue their entire wardrobe.
I also want to improve how Outfit Buddy handles longer trips where only part of the stay is covered by an accurate weather forecast, clearly separating forecast-based recommendations from estimates.
Most importantly, Outfit Buddy should remain what it was originally designed to be: a small app that removes one surprisingly repetitive decision from your day.
Log in or sign up for Devpost to join the conversation.