VIME is a voice-first AI experience that empowers people with moderate-to-severe visual impairments to independently apply makeup.
I started with a black screen and left it that way. Without a visual interface, every interaction had to be communicated through conversation. Instead of designing buttons, layouts, and screens, I designed around pauses, guidance, uncertainty, and trust.
During my tenure, VIME was a pilot. I built the interaction foundation that informed its continued development into a shipped product, which later received a 4.9 App Store rating.
UX LeadRole
0→1 PilotContext
4.9★Later release
WCAG 2.0 AADesigned to standard
AI Conversation Design
Rethinking How AI Communicates
Designing a voice-first experience meant designing the conversation itself. Every exchange between the user and the AI needed to answer the user’s most immediate question, whether that meant reassurance, guidance, or simply confirmation that the experience was still progressing.
The research included nine participants whose vision ranged from moderate impairment to full blindness. Each tested a live TestFlight pilot.
I established four interaction principles that guided every conversation throughout the experience.
Designing the Conversation
Speak Naturally
AI should feel conversational, not transactional.
Keep Me Informed
Always communicate what VIME is trying to do.
Be Honest
Explain uncertainty instead of pretending to be correct.
Help Me Recover
Turn mistakes into the next step forward.
The Voice in the Room
Challenge
Users primarily relied on VoiceOver for navigation, but VIME also utilized spoken guidance to assist with makeup application. Running both systems simultaneously created competition for the user’s attention.
One proposed solution was to ask users to disable VoiceOver during the experience. That would have meant asking users to disable a trusted tool and adding unnecessary friction before every session.
Approach
Rather than replacing VoiceOver, I defined a clear role for each voice.
VoiceOver supported the initial app setup and navigation, while the core makeup experience transitioned into a fully hands-free conversation with VIME. By minimizing reliance on traditional UI, users didn’t need to rely on VoiceOver for navigation and interactions.
Result
The makeup experience became one hands-free conversation, allowing users to focus on applying makeup instead of managing an interface.
Breaking the Silence
Challenge
During user interviews, I learned that most participants increased VoiceOver’s speaking rate to 3x–5x normal speed. At that pace, even a few seconds of silence felt amplified and could be interpreted as lag or a broken system.
VIME required several seconds to analyze the camera image before providing feedback. Those critical moments left participants wondering whether the app was still working or had become unresponsive.
Approach
Normally, I’d show a loading state or progress bar to let users know the app is processing. Without a UI layer, that wouldn’t have worked. Instead, I chose to mask that latency.
VIME responded immediately with natural dialogue as the image analysis began, acknowledging the user while quietly masking the processing time. That made the experience feel more like a beauty consultant preparing to help than software loading in the background.
Result
An immediate response confirmed that VIME was still working while image analysis was in progress, breaking the silence with a natural conversational response.
Trust Me, I Don't Know
Challenge
Certain lipstick shades closely resembled natural lip color, making it difficult for computer vision to determine whether lipstick had already been applied.
Returning an incorrect answer risked eroding trust, while simply reporting an error left users without a clear path forward.
Approach
Rather than treating uncertainty as a dead end, I designed a recovery path.
When VIME wasn’t confident in its assessment, it first acknowledged the limitation and explained why it couldn’t provide a reliable answer. It then asked a simple follow-up question: “Have you already applied makeup?”
By making the uncertainty explicit before requesting additional input, the interaction felt transparent rather than arbitrary. The user’s response gave VIME the context it needed to reevaluate the image with greater confidence, turning the retry into a collaborative interaction instead of an unexplained repetition.
“It just kept repeating I can’t see you, I can’t see you, I got so frustrated I just threw it into a drawer”
Result
Participants understood why VIME needed another attempt and how they could help. By explaining its uncertainty and guiding the next step, VIME remained useful without pretending to be certain.
“The fact that she worked with where I was and didn’t just say ‘I can’t see you,’ that’s huge.”
AI Uncertainty
Reflection
AI doesn’t need to be perfect.
Building VIME taught me that people don’t expect AI to be right every time. They do expect it to be honest when it isn’t.
The experience became more trustworthy when the AI explained its limitations, asked for help when it needed more context, and made the next step obvious.
The goal wasn’t perfection. It was designing an experience people could trust because the AI was honest about what it knew, what it didn’t, and what it needed next.
Voice interaction
A guided makeup check
You
Can you check my makeup?
VIME
It would be my pleasure to check.
VIME
I don’t see any makeup. Have you already applied makeup?
You
Yes, I have.
VIME
Ok, please let me try again.
VIME
There is missing coverage on the lower left corner of your lips. Would you like to touch it up?