Design

The Evolution of Focura

Focura didn't arrive fully formed. It evolved through five distinct phases, each building on lessons from the last.

Phase 1: Foundation

The first version was a shell — an app icon in the menu bar, a SQLite database, a basic timer loop, and a minimal session flow. No polish, no ambient UX. Just the core: start a session, run a timer, end the session.

This phase proved the architecture worked: SwiftUI in a menu bar popover, GRDB for storage, UNUserNotificationCenter for alerts.

Phase 2: Ambient UX

This was the biggest perceptual shift. We moved from an "active" app (that demanded attention) to an "ambient" one (that stayed in the background until needed).

Key additions: the ContextPanel for session overview, feeling tags in post-session, and the first version of menu bar status. The app stopped feeling like a tool you operated and started feeling like a quiet companion.

Phase 3: Timer Controls

Finish Early landed here — the hover-revealed control, the soft gate for the first 5 minutes, the inline "Try a few more min?" prompt. We also added the elapsed time banner in post-session and the menu bar elapsed state.

This phase was about respecting user agency while gently supporting follow-through.

Phase 4: End-of-Day Flow

The daily summary screen (CompletionView), session recaps, and — most importantly — the re-entry point handoff form. This phase closed the loop: sessions weren't just isolated blocks anymore, they connected across days.

The Done for Today redesign also happened here, replacing the vague button with passive auto-close.

Phase 5: Data Page

The most recent phase added insights and history — the ability to see patterns in your sessions over time. How many sessions you complete, when you tend to stop early, which tasks get the most focus, how your energy patterns shift across the week.

This turned a year's worth of structured data (the thing the Shortcuts prototype couldn't provide) into actionable self-awareness.

What's Next

Focura continues to evolve. Each phase has been guided by the same principle: start with what actually helps, then refine based on how people use it. No speculative features. No roadmap driven by competitor feature lists. Just careful observation and honest design.