What are you in the mood for?
What are you in the mood for?
An AI discovery partner that asks before it recommends.
An AI discovery partner that asks before it recommends.
Lore
2026

tldr
tldr
Context
Context
Developed as part of my capstone project for Stanford’s "Building AI Products" course.
Developed as part of my capstone project for Stanford’s "Building AI Products" course.
Concept
Concept
Lore is a speculative AI entertainment platform that helps people discover what to watch based on their mood, interests, and the experience they want.
Lore is a speculative AI entertainment platform that helps people discover what to watch based on their mood, interests, and the experience they want.
Role
Role
Concept creator, research, interaction design, prototyping and testing.
Concept creator, research, interaction design, prototyping and testing.
Question
Question
Can a short conversation find what someone wants to watch faster than browsing rows?
Can a short conversation find what someone wants to watch faster than browsing rows?
Learnings
Learnings
People liked talking to it more than scrolling. They also missed the one feature meant to earn their trust.
People liked talking to it more than scrolling. They also missed the one feature meant to earn their trust.
Overview
Overview
Starting with a feeling.
Starting with a feeling.

Sometimes you know how you want a movie to feel before you know what movie you want.
Lore starts with that uncertainty. Someone can ask for “something suspenseful,” answer a clarifying question, and receive a small set of recommendations with an explanation for each.
I wanted to understand how that exchange might work on a television, where people might move between speaking into a remote and selecting something on screen.
Sometimes you know how you want a movie to feel before you know what movie you want.
Lore starts with that uncertainty. Someone can ask for “something suspenseful,” answer a clarifying question, and receive a small set of recommendations with an explanation for each.
I wanted to understand how that exchange might work on a television, where people might move between speaking into a remote and selecting something on screen.
Problem
Problem
Knowing the mood. Missing the words.
Knowing the mood. Missing the words.
In exploratory interviews, participants described difficulty translating the experience they wanted into a search. They also felt that recommendations based on previous viewing didn’t always reflect what they wanted that evening.
Those conversations suggested an opportunity: give people a way to express their current intent and help them refine it.
My working hypothesis was that a short exchange, supported by visual choices, could help people move from a broad feeling to a manageable set of options.
In exploratory interviews, participants described difficulty translating the experience they wanted into a search. They also felt that recommendations based on previous viewing didn’t always reflect what they wanted that evening.
Those conversations suggested an opportunity: give people a way to express their current intent and help them refine it.
My working hypothesis was that a short exchange, supported by visual choices, could help people move from a broad feeling to a manageable set of options.
EXPERIMENT
EXPERIMENT
Listening before building
Listening before building
I built two versions of the same discovery flow.
The first was a Figma prototype that I operated during the session. When a participant spoke or selected an option, I advanced the screens to simulate Lore responding. This Wizard of Oz prototype approach let me to quickly test the interaction flow.
The second was an interactive React prototype built with Claude Code. It included animated states, focus-based navigation, and a scripted journey from the opening question through playback.
Both versions used a prepared action-movie scenario and the same three recommendations. This kept the sessions focused on how people understood and navigated the experience.
The recommendations and responses were scripted; the prototypes didn’t infer intent or generate personalized results.
I built two versions of the same discovery flow.
The first was a Figma prototype that I operated during the session. When a participant spoke or selected an option, I advanced the screens to simulate Lore responding. This Wizard of Oz prototype approach let me to quickly test the interaction flow.
The second was an interactive React prototype built with Claude Code. It included animated states, focus-based navigation, and a scripted journey from the opening question through playback.
Both versions used a prepared action-movie scenario and the same three recommendations. This kept the sessions focused on how people understood and navigated the experience.
The recommendations and responses were scripted; the prototypes didn’t infer intent or generate personalized results.
TESTING
TESTING
Taking the conversation to the couch.
Taking the conversation to the couch.
I ran individual moderated sessions with two participants—my 17-year-old children—using a television and an Apple TV remote. Each tried both prototypes, with the starting order randomized.
I watched for hesitation: Did they know when to speak? Could they understand the clarification question? Did three recommendations feel sufficient? Did they notice why a title had been suggested?
This was a small convenience sample intended to uncover early interaction issues. It provided direction for iteration, with broader testing still needed.
I ran individual moderated sessions with two participants—my 17-year-old children—using a television and an Apple TV remote. Each tried both prototypes, with the starting order randomized.
I watched for hesitation: Did they know when to speak? Could they understand the clarification question? Did three recommendations feel sufficient? Did they notice why a title had been suggested?
This was a small convenience sample intended to uncover early interaction issues. It provided direction for iteration, with broader testing still needed.
ITERATION
ITERATION
Three adjustements
Three adjustements
One participant was unsure whether to answer the clarification question aloud or select an option on screen.
I revised the entry experience to make both paths explicit: ask Lore a question or choose a suggested prompt. The design needed to communicate how to participate at each step.
One participant was unsure whether to answer the clarification question aloud or select an option on screen.
I revised the entry experience to make both paths explicit: ask Lore a question or choose a suggested prompt. The design needed to communicate how to participate at each step.
With the foundation in place, I built a tokenized design system, developed a symbolically rich logo mark and visual language, and used behavioral design principles to shape the high-fidelity experience. I ran usability testing with tools like Hotjar, refined the product based on feedback, and iterated on details ranging from onboarding to map readability and heatmap color treatment.
With the foundation in place, I built a tokenized design system, developed a symbolically rich logo mark and visual language, and used behavioral design principles to shape the high-fidelity experience. I ran usability testing with tools like Hotjar, refined the product based on feedback, and iterated on details ranging from onboarding to map readability and heatmap color treatment.
The end result was a fully responsive progressive web app built with React, Redux, GraphQL, and Node.js. It was designed to feel simple, trustworthy, and fast, and engineering helped optimize performance to the point that we achieved near-perfect Google Lighthouse scores.
The end result was a fully responsive progressive web app built with React, Redux, GraphQL, and Node.js. It was designed to feel simple, trustworthy, and fast, and engineering helped optimize performance to the point that we achieved near-perfect Google Lighthouse scores.
REFLECTION
REFLECTION
The prototype changed what I could learn.
The prototype changed what I could learn.

The polished prototype drew more comments about animation and the overall experience. The simpler Figma version surfaced uncertainty about what to do next.
With only two participants, I couldn’t draw a broad conclusion about prototype fidelity. But the sessions showed why I’d use both approaches again: each helped me notice something different.
Building with Claude Code also took longer than making changes in Figma. Reaching the visual quality I wanted required repeated adjustments, and usage limits interrupted the work. The benefit was a more interactive experience; the cost was iteration time and some direct design control.
That tradeoff will shape how I choose tools for future questions.
The polished prototype drew more comments about animation and the overall experience. The simpler Figma version surfaced uncertainty about what to do next.
With only two participants, I couldn’t draw a broad conclusion about prototype fidelity. But the sessions showed why I’d use both approaches again: each helped me notice something different.
Building with Claude Code also took longer than making changes in Figma. Reaching the visual quality I wanted required repeated adjustments, and usage limits interrupted the work. The benefit was a more interactive experience; the cost was iteration time and some direct design control.
That tradeoff will shape how I choose tools for future questions.
NEXT QUESTIONS
NEXT QUESTIONS
A clear interaction still needs useful recommendations.
A clear interaction still needs useful recommendations.
This exploration helped me improve how people communicate with Lore. It didn’t establish whether Lore could understand a wider range of requests, recommend relevant titles, or reduce the effort of choosing.
Next, I would test with participants outside my immediate circle and let them bring their own viewing needs. I’d examine whether they can express an intention, correct Lore’s interpretation, and find a recommendation they actually want to watch.
The question I want to carry forward is simple: does each exchange help someone get closer to a choice?
When I pitched investors, a global pandemic wasn't on my list of risks. Threshold taught me that even well researched products are vulnerable to forces you can't see coming.
If I could start over, I'd go smaller. I'd find two or three established performers with a million plus fans, build relationships with their managers and agents, and design the first version of the app around them.
What I wouldn’t change is why I built Threshold in the first place– a vision articulated by JFK 60 years earlier and one we carried into our mission video above.
This exploration helped me improve how people communicate with Lore. It didn’t establish whether Lore could understand a wider range of requests, recommend relevant titles, or reduce the effort of choosing.
Next, I would test with participants outside my immediate circle and let them bring their own viewing needs. I’d examine whether they can express an intention, correct Lore’s interpretation, and find a recommendation they actually want to watch.
The question I want to carry forward is simple: does each exchange help someone get closer to a choice?
Let’s chat
© 2026

















