Hacker News new | ask | show | jobs
by crcht 2500 days ago
How do you decide what to wear when you wake up, or when you're planning to go on a romantic weekend getaway? I made an app for that called Fashion Frog, who gives you the most suitable outfit to wear depending on the current weather condition and the time of the day relevant to you.

I learned a lot while coding this little side project app on Android and iOS, like using the OpenWeather API.

I created the algorithms to propose the suitable outfit for the day anywhere in the world. It took some time to assembly and think about the looks and the illustrations. But I want to talk to you about my biggest pain: the timezone module.

It was very difficult to get the app working on every timezone of the world. Indeed, I wanted to give weather from morning to night but I needed to know what time was at every town of the world (to display only 4 simple informations : morning, afternoon, evening, night). At fist, I wanted to use the Google Timezone API but it was very expensive.

My first solution was to use Kevin Robert module called city-timezone, it covered 80% of the users requests. Sometimes the city is not found, in this case I choose a timezone list from the web that I parsed, then I used another list for the towns of the world with a timezone indication code inside. So I was able to match the town with the timezone when a user select a town. And finally, if the timezone of the town is still not found, I use timezonedb API (link below) who let me cover at the end almost all the town of the world.

I also set things to not call too much the weather API (like if you want to get the weather 8 mins later at the same position, I didn’t call again the API, I save it for 10 mins inside the app).

The app is still in progress, because I want to add an Inspiration section and to create a more complex outfit proposition algorithm (I like it so far, but I think it can be improved). I already got design feedback by a UX/UI designer that helped me to think about the future experience inside this little app. I also used the Humaaans illustration base and recreated clothes on top, it was very creative and fun to do.

Fun fact: I wanted to create this app at the beginning only for Men living in Paris, France because it was my actual pain: what outfit I should prepare to look my best throughout the full day? And now, my biggest users this month (51%) are Women living in US and UK. It took me a huge amount of time to create english speaker and Women version of the app, but it was a great idea to offer the app to as many people as possible from the beginning, because my target users revealed itself.

LINKS : - Weather API: https://openweathermap.org - Timezone module: https://github.com/kevinroberts/city-timezones - Timezone last chance API: http://timezonedb.com - Humaans illustration library: https://www.humaaans.com/ - Google Timezone API: https://developers.google.com/maps/documentation/timezone/in...

3 comments

Nice job, I didn't find a good weather app on Android yet, it's exactly the infos I want to know in the morning.

Do you plan to allow for personnal preferences? People generally have a different sensitivity to temperature.

It would be nice to be able to swipe between T, T+1 and T+2 instead of going to settings.

Hi @Fradow, thank you so much for this kind message. Yes I planned to allow for personnal preferences with the creation of a Closet section inside the app. But in the way you say I didn't think about it yet, it's true people can have different sensibility to temperature, I will try to get this information for my little algorithm to adapt the propositions. Yes the swipe is something that could be awesome! I really want to implement it in the next version of the app. Thanks again for your feedbacks!
I’m naive here since I have not tried your app, but I’ll ask. Does it take people’s fashion sense into account? Or does it allow for an inventory of one’s wardrobe to recommend item types (not particularly every single item, but rather, do you have a raincoat or umbrella, etc).
Hi @mc32, thank you for your question! The final idea is to take the people's fashion sense, but for now the proposals only give you an idea of a type of clothing to wear, which really leaves room for your creativity! I ask people inside my app of what brand they prefer, and I think everything will make sense when the people will be able to express their fashion sense inside the Inspiration section. And btw, I also think about a Closet section, where you put your clothings. So when then app display the weather, the propositions matches with your clothes of your wardrobe.
For simplicity you could have people select categories of items they have (bomber jacket, trench-coat, t-shirt, sweater) and qualifiers for each (warm, waterproof), that way you can create outfits based on the qualifiers and the item type.
Hi @GGfpc for this idea, I think it's really great! In the idea of the Closet section, it thought about something like that. Its important that this section fits with the little algorithm inside the app to advice outfit with weather condition, but yes, I should do something simple like you propose, it could be a great integration for sure! I try to think about a MVP integration of this section, and I think I will integrate a login inside the app to save this closet.

Also, I think if you miss for exemple a trench-coat for hot temperature, I can tell the user that it's something missing in his/her closet. And also if the user have too many t-shirt entered in the app for exemple, I can tell this user that it's too much and letting a word about it to help him/her organized in a better way their closets.

Bugs:

Location: Achen, DE causes infinite loading.

Location: Anywhere in India gives Weather as passed and Wind speed as NaN km/hr.

Hello @V8engine, thanks for this bugs feedback! I tried Achen, DE and it's working fine for me, maybe you can try to relaunch the app? About the India issue, I just check and it's definitely true! Thank you for this, I definitely will check this issue why All of India cities are not founded... I checked and my weather API find them so it should be something wrong with my timezone code for India (normally "IN").