Mobile App / UX Case Study
An AI-powered dream journaling app designed for the 3 AM moment, when you're half-asleep and typing is the last thing you want to do.
Role
UX Designer
Duration
Oct 2025 – Dec 2025
Platform
iOS Mobile App
Tools
Figma, FigJam
Most dreams vanish within five minutes of waking. Unsomnia catches them before they disappear.
Users speak their dream aloud. The app transcribes on-device, extracts entities automatically, and surfaces patterns over time whilst keeping everything private.
Existing apps require manual typing and tagging, which creates friction at the worst possible moment. Users lose details, skip journaling entirely, or tag inconsistently. Cloud-based transcription adds a trust barrier for content as personal as dreams.
I conducted 42 user interviews with active dream journalers and lucid dreamers recruited from communities including r/LucidDreaming (615K+ members), synthesised through an affinity diagram and journey map in FigJam.
68% of participants forgot their dream before opening an app. Another notable barrier was the effort of manual logging itself. Typing while half-asleep is demanding enough that many users consistently chose not to journal at all. Voice recording removes both barriers entirely.
| Finding | Design Response |
|---|---|
| Typing is hard at 3 AM | Voice-first recording, zero text input required |
| Dreams forgotten in minutes | One tap to record, no account required upfront |
| No pattern understanding | Automated AI entity extraction + Insights tab |
| Inconsistent manual tagging | Five-category colour-coded system, auto-applied |
| High friction kills habit | Sub-30 second recording flow, frictionless onboarding |
Wireframing started with one constraint: every screen must be usable at 3 AM with minimal cognitive load. This meant large touch targets, zero text input, and a visual hierarchy guiding the eye to a single action per screen.
The visual language was built around one reality: this app is used in the dark. A deep indigo palette reduces eye strain. Soft purple accents remain visible without being harsh. Typography pairs Plus Jakarta Sans for headings with DM Sans for body text, chosen for clarity at small mobile sizes.
Design system built for dark-first, low-cognition use: deep indigo base, soft purple accents, five-colour entity palette consistent across tags, charts, and detail screens, Plus Jakarta Sans/DM Sans type scale for arm's-length readability, 40px minimum touch targets, and a reusable component library spanning waveforms, entity tags, dream cards, and mood selectors.
One tap to start. The idle state shows a calm waveform and a prominent mic button. Once recording begins, the screen transitions to a live transcription view with an animated waveform and recording controls.
After saving, users can optionally tag the dream type (lucid, recurring, nightmare, prophetic, sleep paralysis), rate vividness on a 1 to 5 scale, assign a mood, and tag entity categories. None of this is required. The AI handles entity extraction and sentiment analysis automatically, but giving users the option improves accuracy and builds engagement with their dream data over time.
The app categorises dream entities into five types, each with a distinct colour and icon:
| Category | Colour | Example |
|---|---|---|
| People | Purple | Sarah |
| Animals | Orange | Butterflies |
| Places | Teal | Childhood Home |
| Themes | Cyan | Flying |
| Objects | Pink | Book |
This colour system is consistent everywhere: entity lists, dream details, post-capture tagging, and sentiment charts. Users learn to associate colour with category without reading labels. Each dream also receives a sentiment colour visible as a dot on journal cards.
The flow is optimised for one goal: wake, record, sleep. New users can record their first dream immediately with no account required. The signup prompt appears only after the dream is safely captured.
1
2
3
4
5
Four onboarding screens communicate the problem, solution, trust factor, and value. A Skip option lets users dive straight in.
Three users (two active lucid dreamers, one casual dream journaler) tested the prototype. All completed the record-save flow without guidance, confirming the voice-first approach felt intuitive. The entity colour system was understood without explanation. Users validated key design decisions: tap-to-edit transcript lines, segment-level undo granularity, and the paused state playback option. One user initially missed the Save button in the top right, suggesting it may need more visual weight.
By reducing the recording flow to under 30 seconds, Unsomnia turns dream journaling from an occasional effort into a sustainable daily habit.
The MVP targets App Store submission by end of March 2026 with launch in early April.
615K+
Potential users in r/LucidDreaming
$49/yr
Target subscription
Apr '26
Launch target
Context is everything
Designing for 3 AM required rethinking standard UX patterns. A half-asleep user needs larger targets, fewer choices, zero typing, and instant feedback. The constraint made the design better.
Privacy as a feature
For content as personal as dreams, privacy isn't a compliance checkbox. It's the reason users will trust the app with their most vulnerable thoughts.
Automation enables consistency
Manual tagging will always be inconsistent. By automating entity extraction with a learnable five-category colour system, Unsomnia ensures reliable pattern tracking without requiring effort from the user.