§ Discovery

/journey

Map a persona’s path through a real flow, with emotional arc and friction.

What it does

Personas and jobs describe who and what; journeys describe how. /journey maps a specific persona accomplishing a specific job through real touchpoints — what happens at each step, what emotional state they’re in, what friction they encounter, what opportunity each touchpoint represents. Output is `.journeys.md`, read by /design, /decide, and /audit when decisions should be grounded in the lived experience of a flow rather than in its idealized happy path.

Current-state vs. future-state, paired. The default /journey output maps the current-state journey (how it works today, friction included) and an optional future-state journey (how it should work after the design intervention) so the comparison itself becomes the design brief. The journey’s emotional arc, key moments, and named opportunities feed directly into /design briefs, /decide tradeoffs, and /audit findings.

Specimen

/journey · Stillpoint

Current state

Maya’s morning practice — current state

Persona · Maya (Daily Practitioner)

Job · Maya F1 — settle the nervous system before the day’s demands arrive.

Touchpoints · 8

Outside the app

Entry

Choosing

Practice

Close

HighLow

View the full journey map with touchpoint swim lanes, friction, opportunities, and design implications.

Artifact viewer

Maya’s morning practice — current state

Maya (Daily Practitioner) · Maya F1 — settle the nervous system before the day’s demands arrive.

Setup

Tuesday morning, 6:45am. Maya is awake earlier than her alarm. Coffee is brewing. The house is quiet. She’s in the kitchen, phone in hand, dressed for the day. She wants to take 5 minutes before checking email and starting work — not as a project, just as a small good choice. The phone is the only device involved.

Outside the app

Entry

Choosing

Practice

Close

HighLow

Step 01

Picks up the phone

Action

Maya picks up her phone with the intention of starting a short practice.

Thought

Settled. She’s chosen this moment deliberately; the intention is clear.

Step 02

Sees lock screen full of overnight notifications

Action

The lock screen shows 14 notifications across email, news, and three other apps.

Thought

First small dip. The notifications pull her attention toward the rest of the day before she’s started the practice.

Friction

The phone’s default surface is the day’s incoming demands. Even a 2-second scan of notifications shifts her mental state from “before the day” to “the day has started.”

Opportunity

Not Stillpoint’s problem to solve directly — but it shapes the emotional state Maya arrives at the app with. The app should NOT add to the cognitive load (no notification badge of its own, no “you missed yesterday” reminder).

Step 03

Opens Stillpoint

Action

Maya taps the Stillpoint icon. The app opens to the home page.

Thought

Recovers slightly. She’s in the right tool now; the next move is clear in principle.

Step 04

Scans the home for what to practice

Action

Maya looks at the home page. There’s a hero, a practices section with three featured cards, a how-it-works section, a pull quote, a signup section.

Thought

Task-focused, slightly impatient. She doesn’t want to read or browse; she wants to start.

Friction

Without personalization, Maya has to choose from three cards based on duration + type. The choice itself is small but is friction at this moment — she came to the app to begin, not to decide.

Opportunity

The personalization banner addresses this friction directly. Move it above the eyebrow + heading pair so it’s the first thing Maya sees; it should be possible to begin from the banner without scrolling.

Step 05

Picks Morning Grounding

Action

Maya taps the Morning Grounding card.

Thought

Engaged. The choice is made; the practice is starting.

Step 06

Lands on the practice detail page

Action

The detail page loads with hero image + title + lede + Begin practice CTA + description sections + steps + guide bio + related practices.

Thought

Brief reset of impatience. The detail page shows more than she needs in this moment — she’s already chosen; she wants to begin.

Friction

The detail page is rich for first-time users (Jordan) but excessive for daily users (Maya) who just want to begin. The Begin practice CTA is in the hero, so the friction is small — but the page’s scrollable depth implies “there is more to consider here” when Maya doesn’t want to consider.

Opportunity

From the personalization banner, the Begin practice CTA could start the practice directly — skipping the detail page when Maya already knows what she’s starting. Detail page remains for browsing-from-grid use cases.

Step 07

Practice begins

Action

Maya taps Begin practice. Audio starts; the screen transitions to a minimal practice surface.

Thought

Settles. The intention from the start of the journey is now matching the surface.

Step 08

Practice ends

Action

Audio ends after ~5 minutes. Screen returns to a closing state.

Thought

Quiet, lightly elevated. Maya completed the practice without it being a project; the small good choice landed.

Friction

Current Stillpoint scope doesn’t define the post-practice close. Default would be a CTA-heavy “Practice complete!” screen with sharing/streaks/next-practice prompts — exactly the gamification pattern Maya’s emotional job (E1) rejects.

Opportunity

Post-practice screen should hold the moment rather than push to engagement. Quiet acknowledgement (“Practice complete.”), no streak counter, no “keep going!” CTA. A “Browse the library” link is acceptable; a “Take another practice now” prompt is not.

Emotional arc

The arc starts settled (Maya’s chosen this moment deliberately), dips at touchpoint 2 (lock-screen notifications shift her toward the day), recovers at touchpoint 3 (opening the app puts her back in the right context), dips again at touchpoints 4–6 (the home + detail page require small choices when she just wants to begin), settles at touchpoint 7 (the practice itself), and lands quietly elevated at touchpoint 8 (the practice ends). The dips at touchpoints 4 + 6 are the design opportunities — Stillpoint can’t fix the lock-screen problem, but it can remove its own contributions to the “small choices when I want to begin” friction.

Key moments

  • Touchpoint 4 — scanning the home for what to practice. Maya is task-focused and slightly impatient; the home’s structure either serves that or fights it. The personalization banner is the design’s answer to this moment.
  • Touchpoint 6 — landing on the practice detail page. The detail page is rich for first-time users but excessive for daily users. The friction here is small but compounds across many morning sessions.
  • Touchpoint 8 — practice ends. The post-practice close is undefined in current scope. Default patterns (CTA-heavy, gamified) would actively violate Maya’s emotional job (E1: small good choice, not a project). This is the highest-leverage design moment in the journey.

How this informs design

  • Touchpoint 4 confirms the personalization banner’s placement decision: it should be the first thing Maya sees on the home, above the eyebrow + heading pair, so a one-tap begin is possible without scrolling. The current home page already does this; the journey validates the call.
  • Touchpoint 6 surfaces an opportunity — the personalization banner’s Begin practice CTA could skip the detail page entirely when Maya is starting from the recommended practice. Detail page stays in the flow for browsing-from-grid use cases. /design or /decide should consider this as a future iteration.
  • Touchpoint 8 names the post-practice close as the highest-leverage undesigned surface. Recommend adding the post-practice screen to the case study scope. /design should produce it; /voice should treat it as a critical voice-calibration surface (any push toward engagement violates Maya’s E1 job).

Future state

Maya’s morning practice — future state

Persona · Maya (Daily Practitioner)

Job · Maya F1 — settle the nervous system before the day’s demands arrive.

Touchpoints · 7

Outside the app

Entry

Begin

Practice

Close + beyond

HighLow

View the full journey map with touchpoint swim lanes, friction, opportunities, and design implications.

Artifact viewer

Maya’s morning practice — future state

Maya (Daily Practitioner) · Maya F1 — settle the nervous system before the day’s demands arrive.

Setup

Same setup as current-state. Tuesday morning, 6:45am, kitchen, phone, the small good choice. Differences emerge in how Stillpoint serves the moment.

Outside the app

Entry

Begin

Practice

Close + beyond

HighLow

Step 01

Picks up the phone

Action

Same as current-state.

Thought

Settled.

Step 02

Sees lock screen full of notifications

Action

Same as current-state — Stillpoint doesn’t add a notification of its own.

Thought

Small dip. Stillpoint is not contributing to the cognitive load; it’s honoring Maya’s anti-engagement disposition by not pushing.

Opportunity

Stillpoint preserves this discipline by NOT adding push notifications by default. Maya’s engagement is voluntary; the product is there when she opens it, absent when she doesn’t.

Step 03

Opens Stillpoint

Action

Maya taps the Stillpoint icon. The app opens to the home page.

Thought

Recovers. The home page surfaces the personalization banner immediately — the recommended practice is the first thing she sees.

Step 04

Begins from the personalization banner

Action

Maya taps Begin practice on the personalization banner. The practice begins directly — no detail page interstitial.

Thought

Engaged, then settling. The choice was made for her; she didn’t have to scan or decide.

Step 05

Practice runs

Action

Audio plays for 5 minutes against a minimal practice surface.

Thought

Settles fully. The product is doing its job; Maya is doing hers.

Step 06

Practice ends — quiet close

Action

Audio ends. Screen shows a quiet acknowledgement: a single line in Lora — “Practice complete.” — and a small italic line beneath: “Take a moment if you have it.” No CTAs. No streak. No next-practice prompt.

Thought

Quiet, lightly elevated. The close holds the moment rather than pushing to engagement. Maya can sit with the screen briefly or close the app and get on with the day; either is fine.

Opportunity

This screen IS the design intervention. Without it, the post-practice surface defaults to engagement patterns that violate Maya’s emotional job. With it, the practice ends in a register that matches what Maya came for.

Step 07

Closes the app

Action

Maya closes Stillpoint. Returns to her morning.

Thought

Settled. The journey’s intention from touchpoint 1 has landed.

Emotional arc

The arc is shorter and steadier than current-state. Settled → small dip (lock screen, unavoidable) → recovers (home shows the right thing) → engaged → settled (during practice) → quietly elevated (the close holds the moment). The friction-spots at current-state touchpoints 4 + 6 (home scan, detail page) are removed; the undesigned moment at current-state touchpoint 8 (post-practice) is now defined and serves the emotional job.

Key moments

  • Touchpoint 4 — begins from the personalization banner. The single biggest design intervention in the future-state. Removes the home-scan + detail-page friction by making the recommended practice one tap from app-open.
  • Touchpoint 6 — quiet close. The newly-designed surface that current-state didn’t have. The voice + visual restraint here is what makes the practice feel like “a small good choice” (Maya’s E1) rather than an engagement loop.

How this informs design

  • The home’s personalization-banner-first hierarchy is validated — the future-state journey’s biggest friction-removal moment depends on it. /design should treat moving the banner below the eyebrow + heading as a regression.
  • The personalization banner’s Begin practice CTA should skip the practice detail page when used. The detail page stays as the path for browsing-from-grid (when Maya wants to consider before beginning, or when Jordan is exploring). Two paths to begin: detail-page-mediated (slower, contextual) and banner-direct (faster, momentum-preserving).
  • The post-practice close screen needs design. Specifications surfaced by this journey: single Lora line acknowledgement, optional supporting italic line, no CTAs, no streak, no “next practice” prompt. The screen exists to hold the moment, not to push to the next thing. /design should produce it; /critique should evaluate any drafts against Maya’s E1 job specifically.

Comparison

Current state vs. future state

Removed friction

  • Current touchpoint 4 (home scan, task-focused impatience) — addressed by personalization banner being the first thing on the home in future-state.
  • Current touchpoint 6 (detail page interstitial when starting from recommendation) — addressed by banner-direct begin path in future-state.

Preserved friction

  • Current touchpoint 2 (lock screen notifications). Stillpoint can’t solve the OS-level problem; the future-state preserves the discipline of not adding to it (no push notifications). The friction survives the redesign because it’s not Stillpoint’s to remove.

Added friction

  • None identified. The future-state removes friction without adding new friction in other touchpoints. The post-practice close is a newly-designed surface, not a friction addition — its visual restraint serves the emotional arc.

/journey writes .journeys.md — a specific persona accomplishing a specific job through real touchpoints, with emotional state, friction, and opportunity tracked at every step. Current and future states paired so the comparison itself becomes the design brief.

When to use it

  • A specific flow feels off and you want to understand where the friction actually lives, not where it’s most visible.
  • Designing a new flow and want to map the lived experience before committing to the structure.
  • The team is debating multiple flow designs and a journey would surface which design serves the persona’s emotional arc better.
  • Preparing to /audit a flow and want a journey artifact in place to ground the findings.
  • Comparing current-state vs. proposed-state and want the comparison to be specific rather than abstract.

How to use it

/journey

By default /journey asks which persona, which job, and whether to map current-state, future-state, or both. The journey’s setup grounds the moment in specifics (time of day, device, surrounding context); each touchpoint names what happens, the persona’s emotional state, friction (if any), and opportunity (if any). Output is `.journeys.md` with a comparison section when both states are mapped.

  • /journey Maya morning practice
  • /journey checkout flow current-state + future-state

Anti-patterns it addresses

  • Idealized happy-path journeys with no friction. The value of a journey is surfacing where the lived experience diverges from the design’s intent — a frictionless journey is documentation, not design tool.
  • Touchpoint counts that double as feature lists. A journey isn’t a feature inventory; it’s a sequence of moments the persona moves through. If every feature gets a touchpoint, the journey is too granular to be useful.
  • Generic emotional states (“neutral,” “engaged,” “satisfied”). Emotional states should be specific to the moment — “task-focused, slightly impatient because she came to start, not to choose” is useful; “engaged” is not.
  • Opportunity callouts that don’t map to design decisions. Every opportunity should connect to a specific corrective or generative move; opportunities without next steps become aspirational notes.
  • Future-state journeys that magically remove all friction. The strongest future-states preserve the friction the design can’t solve (system-level constraints, OS-level interruptions) and only address the friction the design owns.

See also