Virtual

closet

Minimising decisions I have to make in the morning by combining closet and weather data with a ruleset to query a recommended outfit for the day

Side Project

mySQL

Python

Raspberry Pi

Mornings are not my favourite part of the day. It’s dark outside, often cold and there are a bunch of tasks waiting to be completed that I don’t particularly enjoy.

I have a routine and I’m happy to have the same, easy to prepare breakfast every day but one thing taking a lot of energy is figuring out what the heck I should wear. A capsule wardrobe was never an option, I enjoy colour, big prints and patterns way too much for that to work.

In my case many different circumstances inform the decision what to wear and at some point I came up with a flowchart of questions that would leave me with a subset of clothes to pick from. But Grandma taught me to dream big and after watching Clueless I knew what I needed - an algorithm that would compile an outfit for me to wear so I’d have one less decision to make in the morning.

Digitising my closet

If I want digital recommendations I need a source to feed them, meaning I need to digitise my closet. Since I wasn’t exactly sure what I needed I prototyped columns for that table in a Google sheet that grew organically with the underlying rule set. First columns included a unique ID, category, subcategory colour, fit and occasion (since I wouldn't want to rock up to a work meeting in oversized Pokémon merch from 2016).

Defining rules

Now the idea for this was to convert my everyday flowchart into a query. For my first draft I decided to be happy with pants and two types of tops (short sleeved and long sleeved) for the four typical kinds of days I had. In order to query the correct occasion I asked two questions, resulting in 4 different outcomes: “Am I leaving the house today?” (Y/N) and “Am I working today?” (Y/N).

Filling the gaps

I played around with this very basic ruleset and my Google sheet prototype for a bit, added more columns along the way and finally decided to move my closet to a mySQL database that I’d host on my Raspberry Pi. That way I wouldn’t have to manually click through the closet but could just execute the right query and I wouldn’t block as many paths for future ideas.

Additional rules included not picking cropped fits paired with low cut pants for biz casual/biz occasions, not pairing patterned pants with patterned tops and pairing colourful tops with only black pants. I’m a little particular about this, I know 🥲

As I enhanced my ruleset and querying I started to require weather data which I couldn’t just enter manually. Getting that right would allow me to pick the correct sleeve length and amount of tops for the day. WeatherStack have a free to use API that gave me what I needed and I wrote forecasted max, min temperature and chance of rain in a table each day. Tadah, more rules to follow - singlets only for non working days above 28 degrees, jumper jackets above 18 degrees max temperature so I could easily take them off.

Future potential

The running application sparked so many more ideas for future Julia to play around with. I prototyped a database flag for what’s in the closet and what’s in the laundry basket which could generate washing recommendations. My recommendation, pick rate and purchase date could one day form a popularity score which could feed into shopping and donation recommendations. I’d at some point love to integrate my calendar so the occasion gets auto determined. And rating how happy I am with the recommendation could open the door to machine learning, uncovering more patterns of what I’m comfortable wearing and what gets rerolled. And last but not least crafting a user interface so it’s not a mySQL query executed in a workbench or a python script running in my terminal would give this side project the glamour it deserves.

Side win

This project had a big win on the sideline I didn’t even plan for when first setting it up. Moving to Australia had two implications for my closet: decluttering, donating and selling heaps and having to fill in the longest customs declaration ever for the items I took with me.

Worn count and purchase date gave good indicators for what I wanted to get rid of and already having a digital inventory made it easy to add weight, material, country of origin and eventually a tracking number for all items.

Any

questions

?

Are you free for a casual chat?

What is your availability?

What kind of roles do you have experience in?

What's the last book you read?

Are you fully relocated to Australia?