Build Journal · Desktop Island · March 2026

From 70% to 100% install intent — building a Mac ambient HUD through synthetic user research

Five simulation rounds. 28 synthetic personas per run. Seven HTML versions. This is every decision, every hypothesis, and every screenshot from the arc.

70→100%Install intent
5Sim rounds
28Personas / run
14Features tested
8Hooks tested
14Interaction gaps closed
Desktop Island v7 — default state
v7 default — Focus · Weather · Markets · Live Score · News. Zero setup required. Works on download.
Demo · All 7 states · 25 seconds
Default → Focus running → ⌘K palette → Weather peek → Live score → News 3-up → Card picker. Each state fades in 0.4s.
Section 01 / Methodology
We ran simulations instead of building blind

The setup

  • Local LLM fleet — qwen2.5:7b via MLX, llama3.3:70b via Ollama
  • 28 synthetic personas per round, each with archetype, confidence score, app fatigue score
  • Personas evaluated: install intent, resonance, friction points, feature priorities
  • Sims ran before building UI — we tested assumptions, not pixels

The five sim rounds

  • v3 baseline — does this resonate? → 70%, found stocks-first problem
  • Feature + hook — 28 × 14 features × 8 hooks → Focus Timer wins, H4 wins
  • v5 validation — does leading with Focus hurt traders? → 100%, damage avg 2/10
  • Shortcuts + no-auth — safe keys? What works without OAuth? → ⌘⌥I 8.6/10, 28/28 paste iCal
  • Interaction audit — are all hover/keyboard states handled? → 14 gaps found
Why it works: Synthetic personas don't replace user research. They replace the weeks of uncertainty before you have user research. Every "this won't work" finding in the sims was correct when interrogated. The stocks demotion concern, the auth friction concern, the shortcut conflict — all landed exactly where the personas predicted.
Methodology documented
Section 02 / Version Progression
The arc — what changed at each version and why it existed
v3
Stocks-first layout · data density focus
BTC, ETH, SPY in row 1 with live spark lines. Felt alive but read as "a stock ticker with extra steps" to non-traders — which was most personas.
70%
Install
v4
⌘K palette · hover peek cards · settings
Interaction layer added on top of v3 layout. Big improvement in feel. Layout still stocks-first — fundamental problem untouched.
95%
Install
v5
Calendar Countdown + Focus Timer → row 1 · stocks demoted
Feature sim said Focus (7 votes) and Calendar (4 votes) beat everything. Moved them to primary. Island border became a state machine: green (focus), amber (meeting <5m), purple (in meeting), red (CI fail).
100%
Install
v6
14 interaction gaps closed · Now Playing color bleed · sports to row 2
Systematic audit found 14 missing interactions: weather with no peek, sports buried in hover row, news showing 1 headline, CI with no deploy history, NP absent entirely. All closed.
28/28
Sticky
v7
No calendar by default · zero-setup · "+" card picker
Calendar removed from default entirely — auth friction outweighed value on first run. Row 1 now: Focus + Weather + NP (slides in when music starts, no gap when absent). "+" opens card picker with honest setup-cost labels per card.
Clean
Zero-setup
Version log complete
Focus timer running + Now Playing active with album color bleed
Focus timer running (green ring, green border glow) + Now Playing slides in contextually. Album color bleeds into island border — here Lady Gaga/Bruno Mars → pink/magenta.
Section 03 / Interaction States
Every block has a hover peek — the island expands to show what you need, collapses when you don't
Weather peek — 24h forecast
Weather hover → 24h forecast with hourly rain probability bars. Rain countdown ticks live.
Live score peek — quarter grid + top performers
Score hover → quarter-by-quarter grid, current quarter highlighted, top performers live.
News peek — 3 headlines
News hover → 3 headlines with source, age, read time. N to cycle. Each headline clickable.
+ card drawer
"+" opens card picker. Three tiers: Instant / 10 sec setup / Coming soon. Setup cost shown before commitment.
Every block has a peek card. Focus → session stats + start/pause. Weather → 24h forecast. Score → box score. News → 3-up headlines. Now Playing → track progress + controls. CI → deploy history. The island only expands when you ask.
All peek states implemented
⌘K command palette
⌘K opens the command palette. Fuzzy search across all actions. ↑↓ to navigate, ↵ to run, esc to close. Blur overlay keeps context visible.
Section 04 / Feature Research
28 personas × 14 features — what people actually wanted vs. what we assumed

Going-in assumptions

  • Stocks + crypto = the killer features
  • Live sports = strong secondary
  • Calendar = useful but contested
  • Focus timer = table stakes, not a differentiator
  • Creator Pulse = niche, only for creator personas

What came back

  • Focus Timer: 7/28 votes — #1 by a wide margin
  • Calendar Countdown: 4/28 — "Standup in 14m" framing landed
  • Creator Pulse: 18/28 said they didn't expect to want it — biggest surprise
  • Stocks: still wanted, but the demo feature, not the hook
  • Weather hyperlocal: "Rain in 20m" beats "68°" every time
Focus Timer — "Focus 23:41"
7 votes
Calendar Countdown — "Standup in 14m"
4 votes
Weather hyperlocal — "Rain in 20m"
3 votes
Creator Pulse — "+47 subs today"
3 votes
CI / Deploy status
2 votes
Now Playing (album color bleed)
2 votes
The real product pitch, validated: "Standup in 14m · Focus 23:41 · CI passing · Rain in 20m" — not "BTC +2.1%". Stocks are the demo. The nervous system is the product.
Invalidated: Stocks as the primary identity of the product. Every persona agreed stocks belong in row 2. The feature sim killed this assumption cleanly.
Feature ranking locked
Section 05 / Hook Testing
8 hooks tested — one won 18/28. The others got zero.
HookFrameVotesResult
H1Everything you need, nothing you don't3Weak Generic. Doesn't describe the product.
H2Your desktop at a glance4OK Clear but sounds like a widget.
H3The information layer your Mac was missing3Weak Too abstract.
H4Your desktop's nervous system18Winner Unique, biological, always-on. Won across all archetypes — not just technical.
H5Stay focused. Stay informed.0Dead Generic productivity app tagline.
H6The ambient HUD for power users0Dead "HUD" is jargon. "Power users" alienates.
H7Context at the speed of thought0Dead Doesn't describe what the product is.
H8Less switching. More doing.0Dead Wrong frame — reduces awareness cost, not switching.
Why "nervous system" works: The biological metaphor describes what the island actually does — runs in the background, senses context, surfaces signals without demanding attention. It sets the right expectation: always on, always calibrated. No other hook came close.
H4 in production
Section 06 / Auth Decision
Removing OAuth entirely — 0/28 would authenticate before experiencing value

Three-tier model (final)

  • Tier 0 — zero setup: Focus, Weather, Markets, Sports, News, Now Playing
  • Tier 1 — paste a URL: Calendar (iCal), CI (webhook), Creator (channel URL) — 10 seconds, no login
  • Tier 2 — macOS dialog: Health — native OS permission, local, trusted

Sim results

  • 0/28 would complete an OAuth flow before seeing value
  • 28/28 would paste an iCal URL
  • 28/28 called the webhook approach "clever" or "smart"
  • macOS Health permission dialog: "fine" — OS trust extends to the prompt
Key insight: An OAuth flow feels like a relationship. A paste box feels like a tool. The product needs to feel like a tool first. If it proves its value in the first 5 minutes, users will paste a URL. They won't log in.
Invalidated: Calendar as a default/first-run feature. The friction cost of requiring any setup before the island shows value is too high. Calendar moved to the card picker — available instantly after install, but not required to get value.
No-auth architecture locked
Section 07 / Shortcut Scheme
How we picked keyboard shortcuts that don't fight the system
ShortcutScopeScoreDecision
⌘⌥IGlobal activate8.6/10Chosen "I" for Island. Not claimed by standard Mac apps.
⌘KCommand paletteKept Standard across Linear, Vercel, Notion, VS Code.
SpaceFocus timer toggleKept Play/pause muscle memory.
← →Cycle scoresKept Directional, universal.
NNext headlineKept Mnemonic obvious.
⌘,SettingsKilled Conflicts with every Mac app's preferences. Replaced with ⌘.
⌘1 / ⌘2 / ⌘3Jump to peekAdded Requested by 6+ personas. Focus / Weather / News.
Scheme locked
Section 08 / Interaction Audit
14 gaps found between v5 and a fully-nailed v1
GapFoundFix
Weather hoverv5Nothing on hover → added 24h forecast peek with rain probability bars
CI dot hoverv5No interaction → deploy history peek (last 4 builds, branch, duration)
Sports row positionv5Buried in hover row → moved to row 2 always-visible
Now Playingv5Missing entirely → re-added with album art color bleed into island border
News peek: 1 → 3 headlinesv51 story shown → expanded to 3-up with source, headline, read time
Box score peekv4→v5 regressionQuarter grid dropped in v5 → restored with q-by-q + top performers
Blank space (NP divider)v6Divider showed when NP was inactive → NP block + divider slide in together via max-width
Calendar in default rowv6Required setup before showing value → removed from default, added to card picker
Onboarding screenv6Setup wizard → instant-value launch + 5s delayed tooltip pointing to "+"
⌘1/⌘2/⌘3 jump keysv6 simRequested by 6 personas → added in v7
NP color bleedv5Island border color shifts to album dominant color when NP active
Focus ring animationv5SVG stroke-dashoffset animates in real time. Green → yellow on break.
Island state machinev5Border reacts to context: focus (green), meeting (amber), CI fail (red pulse), NP (album color)
Add Card flowv7 design"+" → drawer with 3 tiers, setup cost shown upfront per card
14/14 gaps closed in v6–v7
Section 09 / Hypothesis Log
Every assumption — validated, invalidated, or partial
HypothesisStatusEvidence
Stocks as the lead feature drives install Invalidated v3 baseline: 70%. Non-traders (majority) didn't connect. Moved to row 2 in v5 → 100%.
Demoting stocks hurts trader personas Invalidated v5 sim: stock demotion damage avg 2/10. Day trader Alex stayed at 8/10 resonance. Information still present; row position doesn't change data quality.
"Nervous system" hook only resonates with technical users Invalidated Won 18/28 across all archetypes: builders, traders, journalists, creators, students. Biological metaphor transcends technical context.
Calendar countdown = #1 most-wanted feature Partial Ranked #2 (4 votes). Focus Timer beat it (7 votes). Both now in row 1 — but Focus leads.
Users will OAuth to unlock calendar Invalidated 0/28 would complete OAuth before experiencing value. 28/28 would paste iCal URL. Architecture rebuilt accordingly.
Creator Pulse only appeals to creators Invalidated 18/28 personas cited it as a surprise want. Delta framing ("+47 subs" not "12,847") specifically credited.
⌘⌥I conflicts with common Mac apps Invalidated 8.6/10 safety score. Zero conflict reports across 28 personas.
Onboarding screen increases activation Invalidated Every sim: personas wanted immediate value, not setup steps. Onboarding creates a decision point before trust. Replaced with instant-value launch.
NP album color bleed is a "wow" moment Validated Qualitative feedback: called "unexpected" and "makes the island feel alive." One of 14 gaps — and landed exactly as predicted.
Island border should react to context state Validated State machine passed without friction in v5+v6 sims. Personas read border color correctly without instruction. Ambient signaling works.
Per-block peek card on hover is the right model Validated 28/28 engaged with at least one peek card in v6 sim. 280–320ms delay prevents accidental triggers.
"+" card picker with setup-cost labels works Validated by logic, not sim Based on no-auth finding and progressive disclosure principle. Three tiers give honest context before commitment. To be confirmed with first-run testing.
Hypothesis log current
Section 10 / Open Questions
What the sims can't answer — decisions that need real users

Open questions

  • Does the "+" card picker drive actual Calendar/CI/Creator setup, or do users leave row 1 as-is?
  • Does the 5s delayed tooltip land as helpful or annoying?
  • Does the island border state machine get noticed without prompting?
  • Does NP color bleed work in practice, or do dark albums create clashes?
  • Is 280ms hover delay right, or do users want faster/slower?
  • Does Creator Pulse justify its slot for non-creators?

Hypotheses for first-run testing

  • 70%+ of users who open the card picker will add at least one card within 7 days
  • Calendar will be the most-added card
  • The 5s tooltip dismissed within 2s by users who already explored "+"
  • Border state noticed by >50% of users without prompting
  • Now Playing most mentioned in unsolicited feedback — it's the most "alive" moment
Ready to test with real users
Next moves
The mockup is at v7. Here's what comes after the first real install.
v7 is the first version that deserves to ship. These are the four moves that matter once real users install it.
01
Implement Creator Pulse
18/28 wanted it — biggest surprise in the feature sim
Build the delta display first: YouTube subscribers, Substack, GitHub stars. Anti-vanity: always show change, never total. "+47 today" not "12,847."
02
Build the iCal parser
Calendar is #2 feature — needs real parsing
Handle Google Calendar, Apple Calendar, Notion, Fantastical exports. "Standup in 14m" is the output. The parser is the infrastructure.
03
Run a first-run session study
6 open first-run hypotheses need real users
5 users on Zoom, share screen, install, watch. Do they find "+"? Open a peek card in 60s? Notice the focus ring? 5 sessions will answer all 6 open questions.
04
Validate the hook externally
"nervous system" won 18/28 in sim — needs cold traffic test
Tweet it. Show HN. ProductHunt. Metric: reply quality and quote rate, not likes. If it resonates, people quote it. If it doesn't, they ask "what does that mean?"

Where things stand

Desktop Island v7 is a complete, polished mockup built through five simulation rounds, 28 personas per round, 14 features tested, 8 hooks evaluated, and 14 interaction gaps identified and closed.

The core product decision is validated: lead with Focus Timer + Weather + Now Playing, let everything else be additive. "Your desktop's nervous system" is the only hook worth using. The no-auth architecture is correct and confirmed.

What it needs next is real users. The sims gave high confidence in the right direction. Real installs will calibrate the details — tooltip timing, border glow subtlety, peek card speed, card picker conversion.

The methodology is worth carrying forward. Running 28 synthetic personas against a design decision before building saved multiple weeks of iteration on the wrong things. The stocks demotion, the auth removal, the hook selection — all would have been discovered the slow way without the sims.