Wishlist — Product Design / UX Case Study | Avanie Baptiste
contents

Product Design / UX Case Study

your closet,
before it’s your closet.

Wishlist brings the pieces you save across the internet into one place — then helps you turn them into outfits before you buy.

01 save 02 organize 03 style 04 visualize
The Wishlist grid and Look Studio side by side

role

Product Design · UX/UI · Frontend

project

Solo-built fashion technology product

scope

Research · Information Architecture · Interaction Design · Visual Design · Prototyping · Frontend

built with

React · Supabase · Chrome Extension · SlimSAM · Gemini

02problem

where this started

“okay but — what was I even going to wear this with?”

— me, halfway through planning a trip

I love shopping online. Planning outfits from everything I save is where it gets messy — especially before a trip, when one look might be scattered across several retailers, Pinterest, open tabs, and screenshots.

Finding pieces wasn’t the hard part. Turning them into outfits was.

find
screenshot
cut out
canva
arrange
repeat

saving something
and styling something
are two different problems.

most shopping tools solve the first one

03discovery

how the direction emerged

discovery started with a workflow I knew intimately.

1
observe
2
research
3
map
4
iterate

Discovery started with a workflow I knew intimately: how I saved, remembered, grouped, and styled fashion online. I combined self-observation with competitive research, visual/inspiration research, FigJam mapping, information-architecture exploration, and repeated interface iteration.

what I wanted to understand

market context

the behavior already exists. the workflow is still fragmented.

whering

digital wardrobe, wishlist, outfit planning, browser extension, packing insights

indyx

digital wardrobe, drag-and-drop outfit boards, collections, travel planning, wardrobe analytics

alta

digital wardrobe, wishlist, AI outfit generation, travel planning, virtual try-on

pinterest

collecting inspiration, boards, moving toward personalized shopping/styling

google shopping / photos

virtual try-on, digital wardrobe organization, outfit mixing

The market increasingly validates the idea that people want help not only finding clothes, but organizing, styling, and visualizing them.

The opportunity I saw was less about inventing digital wardrobe planning from scratch and more about connecting a workflow that still felt fragmented to me: discovering a product on the open web → saving it → organizing it for a specific plan → styling it alongside what I already own → visualizing the complete look.

opportunity

Connect pre-purchase discovery to outfit planning without forcing the user to rebuild the product manually.

discover
save
organize
style
visualize

what existing-user conversations reinforced

effort matters

People like digital wardrobes but repeatedly describe setup and cataloging as work.

organization still breaks down

Users ask for better sorting by category, color, tags, and other attributes.

outfit composition is the value

People repeatedly describe outfit-building — and seeing how a new purchase works with existing clothes — as one of the most useful parts of wardrobe apps.

Secondary research — patterns drawn from public reviews and product marketing of existing tools, not original interviews I conducted.

The strongest signal wasn’t that people needed another inventory tool. It was that the value appeared when the wardrobe became usable for decisions.

A digital closet is most useful when it helps you decide what to wear — or whether to buy something at all.

how might we

hmw

Make saving a piece from any store feel like one single action?

hmw

Turn a pile of saved things into something you can actually plan with?

hmw

Let someone see whether pieces work together without opening Canva?

hmw

Make styling feel like play instead of admin work?

hmw

Help someone picture the outfit on themselves before buying it?

hmw

Keep clothes she already owns in the mix, not just new stuff?

pain points

fragmented

Saves live across retailer wishlists, Pinterest, screenshots, bookmarks, and open tabs.

forgotten

If I don’t buy it immediately, it becomes easy to lose track of.

invisible

I can save individual pieces, but I still can’t easily see how they work together.

manual

Visualizing an outfit means screenshotting, cutting out, and arranging each item manually.

risky

I can love an item independently without knowing whether it fits anything else I’m planning to wear.

FigJam board: research notes, how-might-we questions, pain points, persona sketch, current-state and proposed user flows

FigJam board — research synthesis, HMWs, pain points, and the as-is / to-be flows that came out of them

Mapping the workflow exposed that Save couldn’t be the endpoint. Organizing what I liked and composing an outfit were separate jobs with different information needs.

collections
+
look studio

the journey, before and after

as-is — what actually happens today

browse“fun! this is the part I actually enjoy”
save it“easy... but it goes to 6 different places”
forget“out of sight, out of mind. days pass.”
re-find“wait — where did I even see that?”
collage by hand“way too much effort for one outfit”
buy + hope“still not sure any of it goes together”

proposed — what I thought it should be

save from any store
one wishlist
collections / trip
style it, drag + drop
see it on her
buy (or don’t) with confidence
04product definition

who this is for

the outfit planner

“She doesn’t shop one item at a time.
She thinks in outfits.”

scenarioPlanning a trip or event
behaviorSaves across multiple retailers over time
goalBuild complete outfits before buying
tools nowRetailer wishlists, Pinterest, screenshots, tabs, Canva
painSaving products is easy. Remembering and composing them isn’t.

every major feature answers the limit of the one before it.

01

“everything I save lives on a different site.”

→ browser extension

02

“a pile of saves is still just a pile.”

→ wishlist + collections

03

“organized isn’t the same as styled.”

→ look studio

04

“a flat collage still takes imagination.”

→ visualize

information architecture

organization and composition needed different homes.

WISHLIST /
├── ALL ITEMS — saved / owned
├── COLLECTIONS /collections
│    └── COLLECTION /collections/:name
│        └── LOOK STUDIO /collections/:name/looks/:lookName
│            └── VISUALIZE — in-place, not its own route
└── PROFILE /profile

One of the most important structural decisions was keeping Collections and Look Studio separate.

Collections answer “what am I planning for?” Look Studio answers “how do these pieces work together?” Combining them would have made one screen responsible for both organization and composition.

decision

Give composition its own workspace.

tradeoff

This adds another destination to the product, but gives outfit-building enough space to behave like a creative task rather than a management tool.

structural options I evaluated during refinement

Before Look Studio became its own space, styling could have lived in a few different places.

option a

style inside Collection

strength context stays together

problem organization and composition begin competing for space

option b

style from an individual product page

strength good for one item

problem poor fit for assembling complete looks

selected

option c

dedicated Look Studio

strength supports composition as its own task

wishlist = collect. collections = contextualize. look studio = compose.

05experience

01 · save

found it? save it.

need — capture a product without leaving the store’s tab.

The extension removes the extra work between finding something and saving it. Product details are pulled from the page and turned into a consistent Wishlist item.

The Wishlist extension confirming a product was saved from the retailer's product page

Different storefronts expose product information differently, so the extension normalizes that complexity behind one consistent Save interaction — the shopper never has to think about which site she’s on.

from retailer tab to Wishlist.

product page
click save
confirmation
wishlist item
1User stays in shopping context.
2The extension handles the page-specific complexity.
3Confirmation closes the loop.
4The saved object enters the same Wishlist structure regardless of retailer.

the interaction is intentionally boring. the complexity belongs underneath it.

one closet.
every store.

02 · organize

one place for every maybe.

need — a growing archive needs structure without becoming admin work.

Wishlist is the running archive. Collections turn it into smaller planning contexts — a trip, event, or aesthetic.

The full desktop Wishlist page — grid, search, and collections
The Collections grid — each collection its own planning context

collections — each its own planning context

Inside one collection — the items saved for that trip

inside one collection

Filters stay behind one entry instead of competing with the clothing, because most sessions don’t need them.

Pieces already in her closet can join wishlist items later in Look Studio, so outfit-building isn’t limited to things she’s about to buy.

play dress-up
with your actual closet.

03 · style — the centerpiece

Look Studio

need — organized isn’t the same as styled.

Look Studio turns a saved archive into something composable. Instead of imagining whether pieces work together, she can drag them onto a canvas and build the outfit directly.

Look Studio — the closet panel on the right, outfit pieces composed on the canvas, estimated outfit total on the left

style what you want with what you already have.

Wishlist pieces and clothes she already owns can meet in the same outfit, so she can decide whether something new works with her current closet before buying.

from saved piece to complete look.

open look studio
browse closet
add pieces
arrange outfit
save
visualize
browseWishlist and existing closet pieces share one composition context.
composeDirect manipulation makes styling feel closer to dress-up than form-filling.
saveThe outfit persists as its own composition.
visualizeGeneration is optional and happens after the styling decisions are already made.

Placed pieces can also be moved with the keyboard, not only drag-and-drop.

don’t imagine the outfit.
see it.

04 · visualize

see it worn.

need — a flat collage still takes imagination.

Visualize takes the outfit already composed in Look Studio and turns it into a fashion illustration using the model reference from the user’s profile.

outfit composition

The composed outfit, right before generating

fashion illustration

The generated fashion illustration of the composed outfit
AI should not appear to design the outfit for the user. She builds the outfit — Visualize helps her see the result.

Generation runs through a secure server-side pipeline rather than directly from the browser.

An unexpected failure mode: early generations sometimes reproduced the physical sketchbook instead of only its illustration style. Tightening prompt constraints separated the desired style from unwanted artifacts.

designing beyond the happy path

already saved

could go wrongSaving the same product twice

responseDuplicate capture is detected and communicated rather than silently creating a second item.

empty collection

could go wrongA new Collection with nothing in it reads as broken

responseThe empty state explains what belongs here and gives a clear next action.

cutout needs correction

could go wrongAutomatic segmentation misjudges the product edges

responseInclude/exclude points let her correct it rather than treating segmentation as perfect.

visualization failure

could go wrongGeneration fails or times out

responseThe composed outfit stays intact on the canvas, and retrying doesn’t cost her the styling work.

06iteration + design

experience iteration

the bigger iteration wasn’t visual.

early

Collections carried too much responsibility: organize, plan, and style all at once.

what wasn’t working

The screen was serving two different mental jobs, and neither one had enough room.

change

Collections organize. Look Studio composes.

why it was better

Each destination got a clearer purpose, and composing an outfit stopped competing with managing a list.

visual direction

clean first. whimsical second.

early direction

An early Wishlist pass — dark canvas, scattered stickers and tape, pink accents competing with the product photography

final product

The shipped Wishlist visual system

Early explorations leaned too heavily into the playful aesthetic. As the product grew, I pulled the visual system back so the clothing — not the interface — could remain the most expressive thing on screen.

The final direction uses warm, light surfaces with strawberry and matcha as accents, while typography and small tactile details carry the whimsical personality.

visual hierarchy

Fashion imagery remains dominant.

color

Cream/paper surfaces create breathing room; strawberry and matcha act as accents.

interaction

Controls stay predictable and progressively disclosed so the product remains playful without becoming noisy.

your closet, before it’s your closet.

elsie — display

SAVE IT

bitcount — accent

Add to collection · Visualize outfit

quicksand — interface

Expressive type carries personality; restrained interface type carries clarity.

an interaction I loved building On the sign-in screen, a clothing-rack animation reacts to typing speed in real time — faster as she types, paused when she stops, resolved the moment she submits.

sign-in screen — the clothing-rack animation responding to typing

a small accessibility note Drag-and-drop isn’t the only interaction path in Look Studio — selected pieces can also be moved with keyboard controls.
07decisions

product + experience reasoning

three decisions that shaped the product.

01

save should feel the same even when the web doesn’t.

problemRetailers structure product pages differently.
decisionKeep that variability invisible behind one Save interaction.
whyThe user is trying to remember a garment, not understand a retailer’s markup.
tradeoffA consistent interaction requires more implementation complexity and ongoing resilience underneath.

02

organized isn’t the same as styled.

problemCollections answer “what is this for?” Look Studio answers “how does this outfit work?”
decisionSeparate organization from composition.
whyThey are different mental jobs.
tradeoffIt creates another product destination, but prevents Collections from becoming an overloaded workspace.

03

model the wardrobe, not each screen.

problemThe same garment appears across different planning contexts.
decisionTreat the garment as one underlying object and let relationships provide context.
whyThe information architecture stays consistent as the product grows.
tradeoffThe underlying system is more relational, but the user doesn’t have to manage duplicates.
08outcome

reflection

what this project changed in how I design.

design the workflow, not the feature.

I started with the idea of building a better wishlist. Mapping the full behavior showed me that the more interesting problem began after Save.

complexity can stay underneath.

Cross-site extraction, image processing, and generation are technically complicated. None of that complexity needs to become the user’s problem.

play can be functional.

The dress-up-game influence wasn’t just an aesthetic reference. Direct manipulation made outfit planning feel closer to styling than administration.

what I’d validate next

If I continued this project, my next step would be structured usability testing with people who regularly plan outfits before purchasing.

  1. Does the transition from Wishlist → Collections → Look Studio match how people naturally organize outfit planning?
  2. Does Look Studio reduce the effort compared with screenshots / manual collage tools?
  3. Does Visualize actually increase confidence in a potential purchase, or is the flat composition already enough?

secondary questions

  • Is saving through the browser extension understandable on first use?
  • Which filters actually matter once someone’s Wishlist grows?
  • How often do people combine wishlist items with clothes they already own?

ownership

three hats. one product.

Wishlist was built solo, so product decisions, experience decisions, and engineering decisions weren’t separate handoffs — they shaped each other.

ux / product design

Observed the shopping workflow, mapped the experience, defined the Save → Organize → Style → Visualize model, designed the information architecture and interactions, and iterated the visual direction.

frontend / interaction

Built the React interface, Look Studio, and the extension experience.

full stack / systems

Built the supporting data model and the visualization pipeline.

The Wishlist grid
wishlist
A collection
collection
Look Studio
look studio
The visualized outfit
visualized outfit
wishlist collection look studio visualized outfit

your wishlist was never the problem.
turning it into an outfit was.

wishlist — save it. style it. see it together.

Next deep dive

Interested in how Wishlist was engineered?

Software Engineering Case Study

Frontend architecture · browser extension · relational data · client-side ML · server-side AI