dream-detective.case
× Close window
js-os://work/dream-detective

Dream Detective

Wake up or the plot dies.

Project
I built an alarm that unlocks the next chapter of a mystery, so waking up is the only way to hear what happens next.
Problem
Oversleeping costs nothing, so snooze always wins.
What I did
I designed the behavior, the Office world, and Cold Trail so missing the morning means missing the beat.
  • UX Design
  • Product Design
  • Prototyping
  • Behavior Design

My role

End-to-end product design

Timeline

3 weeks · Solo

Client

Concept · IXD Behaviors (Academic)

Industry

Health / Wellness · Behavior Change

Autoplays muted when visible. Unmute or scrub with the controls.

Morning flow: success path vs. Cold Trail

Nothing is at stake at 7am

The brief asked for lasting behavior change. I treated it as a motivation problem at wake-up, not a better notification.

What already works, and what doesn't

I mapped Duolingo, Forest, Pokémon Sleep, and Finch. Streak loss and protecting something you've built both work. Cute sleep output exists too.

Nobody combined story pull with an irreversible miss. Nothing made waking up the only way to find out what happens next.

Miss the morning, miss the beat

Each morning unlocks the next audio clue. Snooze triggers Cold Trail: that chapter locks for good. You don't fall behind. You miss the beat.

Not another wellness app

Two directions, one world

Version 1 was a thin alarm and clue reveal, too close to everything else. Version 2 sold the world through the Office, Evidence Board, and Stakeout sleep audio.

Structure before the noir

I framed home, stats, navigation, and the morning alert in low fidelity first, so I could lock hierarchy before style: where sleep data lives, how you move through the Office, and what wake-up looks like.

The case file is the UI

What I could draw, what I generated

I built the UI and interaction in Figma. I generated environment art with Gemini and Grok because hand-illustrating full scenes was not feasible in three weeks.

The morning alarm uses a high-contrast waveform and broadcast-fading copy.

Day and night, one Office

The Office flips at 6pm. Night is Stakeout audio, then a wake-up check, then briefing or Cold Trail. Day is stats, alarm, and the notebook. Everything still anchors back to the Office.

When the tool couldn't walk the room

FigmaMake sped up UI pieces, but it could not do first-person navigation through the Office. I built that loop by hand, both wake-up outcomes: Intel Secured and locked out.

Write the product before the polish

Full deck · PDF

Full slide deck. Download it if you want the complete ride.

Full slide deck (PDF, 17 pages)

Reflection

The concept only works when the fiction, the interaction, and the visuals all push the same wake-up decision.

Next Steps

I want to test whether narrative FOMO beats a loud beep with real sleepy people.