Skip to content

PRD: Momento — macOS Focus Planner + Timer #2

@codevaugrafta

Description

@codevaugrafta

Momento

Problem Statement

I need a macOS-native app that helps me plan my day first and then move into focused work only when I choose to. Current focus apps are either lightweight timers with little or no planning, or heavier planner products that depend on cloud accounts, subscriptions, and broad integrations. I want a local-first tool that lives naturally in the macOS menu bar, supports intentional daily and weekly planning, and gives me a fast way to start or control a focus session from anywhere.

The current Focus Node prototype points in the right direction but is not yet a shippable product. It still contains misleading concepts that do not drive behavior, a decorative weekly visualization instead of a real planning surface, timer correctness problems around sleep and backgrounding, and performance issues caused by over-rendering and overly frequent persistence.

Solution

Momento is a local-first macOS menu bar app that combines a planner and a Pomodoro-style focus timer. The main surface is planner-first: the user can create and manage focus blocks for today, inspect the week, and schedule around real calendar events. From any planned block, the user can enter a focus session. The menu bar stays useful throughout the day by showing countdown state and exposing quick timer controls without requiring the main window to stay open.

Momento should feel calm, immediate, and trustworthy:

  • Planner-first, timer-second
  • Local-first, no required account
  • Fast menu bar access plus a full window
  • Guided daily rituals for planning and reflection
  • Rich stats that explain where time went
  • Accessible, keyboard-friendly, and resilient to sleep/wake and long sessions

User Stories

  1. As a knowledge worker, I want to open Momento from the menu bar so that I can plan without breaking my current workflow.
  2. As a planner, I want to create a block with a title, time range, category, and optional objective so that my day has clear structure.
  3. As a planner, I want to view today on a time-based surface so that I can see what comes next.
  4. As a planner, I want to switch between days so that I can plan ahead without losing today's focus.
  5. As a planner, I want a weekly planning view so that I can shape the week instead of reacting day by day.
  6. As a planner, I want to move and reschedule blocks without deleting and recreating them so that my plan stays fluid.
  7. As a planner, I want calendar events imported into the planner so that I can place focus blocks around meetings and commitments.
  8. As a planner, I want a guided morning planning ritual so that I start the day with intention.
  9. As a planner, I want a guided evening reflection so that I can compare planned work against actual work.
  10. As a focuser, I want to start a focus session directly from a planned block so that the timer is always tied to real work.
  11. As a focuser, I want the menu bar icon to show timer progress so that I can check status at a glance.
  12. As a focuser, I want a menu bar popover with quick controls so that I can start, pause, skip, or reset without opening the main window.
  13. As a focuser, I want configurable focus and break durations so that the cadence matches my work style.
  14. As a focuser, I want optional auto-start between phases so that I can choose between manual and automatic rhythm.
  15. As a focuser, I want sound cues on meaningful timer events so that I do not need to watch the app constantly.
  16. As a focuser, I want a light focus mode that keeps the current task front and center so that the timer supports the work instead of taking over the product.
  17. As a focuser, I want an optional deeper focus mode so that I can reduce distractions when I need stronger isolation.
  18. As a focuser, I want my timer to remain correct across sleep, wake, and backgrounding so that session history and progress remain trustworthy.
  19. As a quick capturer, I want a keyboard shortcut for quick capture so that interruptions and future ideas can be parked immediately.
  20. As a quick capturer, I want captured items to stay separate from scheduled work until I intentionally process them.
  21. As a stats-oriented user, I want to see today's completed focus blocks and focused minutes so that I know how the day is going.
  22. As a stats-oriented user, I want weekly and monthly trend views so that I can understand patterns over time.
  23. As a stats-oriented user, I want category breakdowns so that I can see what receives most of my attention.
  24. As a stats-oriented user, I want streaks and completion summaries so that consistency is visible.
  25. As a macOS user, I want a full app window in addition to the menu bar so that I can choose quick control or full planning depending on context.
  26. As a macOS user, I want start-at-login support so that Momento is ready every day.
  27. As a macOS user, I want all data stored locally so that I retain control and can use the app without a cloud service.
  28. As a keyboard user, I want full keyboard navigation for core flows so that I can operate the app efficiently.
  29. As a screen reader user, I want controls, dialogs, stats, and planner surfaces labeled clearly so that the app is usable with assistive technology.
  30. As a user, I want persistence that survives restarts and handles corruption gracefully so that I trust my data.
  31. As a user, I want old history pruned or archived automatically so that long-term usage stays fast.
  32. As a user, I want timer presets such as 25/5, 50/10, and 90/20 so that common rhythms are one click away.
  33. As a user, I want a global shortcut to control the timer from any app so that I can stay in flow across the system.
  34. As a user, I want the app to work offline so that it remains dependable in any environment.
  35. As a user, I want the product to stay calm and visually clear so that planning and focus feel lighter instead of noisier.

Implementation Decisions

  • The product is renamed from Focus Node to Momento.
  • The product is macOS-first and ships as a menu bar application with a full window.
  • The product remains local-first for v1 with no account system and no cloud sync.
  • The main product surface is planner-first; the timer is subordinate and contextual.
  • The current radial weekly map is replaced by a real weekly planning surface.
  • The current editable daily anchor concept is removed because it does not drive real behavior.
  • Calendar import is read-only in v1 so that planning has context without turning Momento into a full calendar editor.
  • The menu bar interaction model supports quick timer control and fast access to the main window.
  • Morning ritual and evening reflection are first-class workflows rather than optional afterthoughts.
  • Rich stats are part of the core product, not a later analytics add-on.
  • State management should be reorganized into testable, focused modules and slices rather than a single monolithic context.
  • Persistence must become versioned, debounced, and resilient to storage failures.
  • Timer correctness must explicitly handle long elapsed times, sleep/wake, and background operation.
  • Accessibility, keyboard support, and offline readiness are release requirements.

Testing Decisions

  • Good tests validate observable behavior through stable interfaces rather than internal implementation details.
  • Timer tests should cover phase transitions, long elapsed times, skipped phases, reset behavior, and sleep/wake recovery.
  • Persistence tests should cover migration, corruption recovery, quota failures, and pruning behavior.
  • Ritual tests should cover morning planning flow, evening reflection flow, completion states, and skips.
  • Stats tests should cover streaks, category totals, daily rollups, and timezone-sensitive edges.
  • Planner interaction tests should cover creating blocks, editing blocks, rescheduling, switching between day and week surfaces, and quick capture.
  • macOS verification should include menu bar presence, popover behavior, full-window behavior, and focus-mode flows.
  • Accessibility checks should cover keyboard-only use, dialog semantics, labels, contrast, and screen reader announcements.

Out of Scope

  • iPhone and Apple Watch clients in v1
  • Cloud sync and multi-device state
  • AI scheduling or automatic task planning
  • Third-party task system integrations beyond calendar context
  • Team collaboration
  • Multiple simultaneous timers

Further Notes

  • The product direction is informed by the strongest ideas across timer-first menu bar apps and planner-first scheduling tools, while deliberately avoiding subscription complexity and unnecessary cloud dependency.
  • The release bar should follow a high-quality macOS product standard: fast startup, calm interface, dependable persistence, accessibility, and native-feeling menu bar behavior.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions