AI PRODUCT · WEB DEVELOPMENT · INCLUSIVE DESIGN

Virtual Stylist

A photo-free AI styling experience helping users explore hairstyles with greater privacy, flexibility, and inclusivity.

Role: UX Designer & Developer
Timeline: 2024 (4 Weeks) · Revisited in 2026
Tools: HTML/CSS/JS, TypeScript, Deno, OpenAI API, Claude, Lovable
Virtual Stylist interface

Problem

Existing AI styling apps often rely on user photos, raising privacy and inclusivity concerns related to gender and ethnicity. I wanted to create a gender-inclusive, photo-free styling experience that lets users explore hairstyles without uploading personal images.

Privacy

Hairstyle visualization often requires users to upload personal photos before they can explore different looks.

Representation

Existing tools can reinforce narrow assumptions around gender, appearance, and who styling experiences are designed for.

Inspiration

Digital Self-Representation

The article Life as a Trans Bitmoji inspired my exploration of digital self-representation. It shows how a virtual avatar can help someone express identity shifts before they happen in real life.

Similarly, anime fan art communities reveal the importance of visualization for people who rarely get to see themselves represented.

Solution

I built a photo-free system using HTML, CSS, JavaScript, and OpenAI APIs. Instead of uploading an image, users enter attributes such as age, gender identity, and style preferences to generate personalized hairstyle recommendations.

01 · Hairstyle Description

Generate detailed hairstyle recommendations based on the user's preferences and identity.

02 · AI Visualization

Translate the recommendation into an AI-generated preview without requiring a personal photo.

Virtual Stylist generated hairstyle result

Design Decisions

Virtual Stylist key design decisions

Process

Research

Synthesized insights from interviews and competitor analysis, particularly YouCam, and defined pain points around gender inclusivity and data privacy.

Virtual Stylist persona and journey map

Coding & Prompting

Developed the app with HTML, CSS, JavaScript, TypeScript, a Deno backend, and OpenAI APIs. I iterated on prompts to improve the relevance and accuracy of generated results.

Virtual Stylist development and prompting process

Prototyping & Testing

Built and tested wireframes in Figma and functional prototypes in the browser.

Testing led me to support input rewriting and real-time regeneration, giving users more control over how they explored different styles.

Virtual Stylist prototyping and testing

2026 · AI-ASSISTED ITERATION

Revisiting the Experience: 3 opportunities emerged from further testing.

01 / LESS FRICTION

Selectable Preferences

Choose instead of typing.

02 / CONTINUITY

Saved Looks

Save and revisit favorite styles.

03 / RELEVANCE

Hair-Aware Guidance

Account for existing hair characteristics.

Rapid AI Prototyping

I used Claude and Lovable to rapidly explore new interactions and possible improvements.

Exploratory concepts · Not included in the live app yet

Reflection

02 / USER AGENCY

Designing for Agency, Not Automation

Better AI UX isn't always about automating more decisions.

WHAT I LEARNED

I became more intentional about how gender options are framed, which defaults appear first, and how prompts influence generated results.

This project also reshaped how I approach AI-powered UX: as a balance between user agency, system constraints, and ethical responsibility.

More Projects
Back to top