Momentum OS
A week-first planner and AI accountability coach built for a single user, where the model proposes and the human decides.

Overview
Momentum OS is a private accountability experiment. It plans Monday to Sunday weeks around an honest capacity envelope, protects one Weekly Boss outcome, and reserves room for interruptions before any work is chosen. An AI planning copilot proposes what the week should contain and a coach argues the trade-offs mid-week, but neither can save, lock or alter a confirmed record without explicit human approval. Progress is tracked through a six-attribute levelling system where XP is only earned from completed outcomes.
The problem this solves is personal rather than commercial. Finding worthwhile things to build has never been the constraint. Deciding which single thing deserves a given week, and then holding to that decision when something more interesting appears midweek, is the constraint. Momentum OS is an attempt to externalise that decision into a system with an opinion.
Planning runs as a ten-step guided flow: review the previous week, set capacity, choose a theme, define one Weekly Boss, add weekly and side quests, set maintenance floors, name deliberate exclusions, list risks, then review and lock. The capacity step estimates discretionary hours remaining after meetings, family, fitness and recovery, and splits them across planned work, an interruption reserve and overflow. Reserving interruption capacity in advance is what keeps the rest of the plan honest.
The AI layer is deliberately advisory. A planning copilot reads active projects, recent work and reviewed Context Vault snapshots, then proposes exactly one Weekly Boss, up to two weekly quests and up to three side quests that fit the capacity already set. Suggestions only prefill an editable draft; they never save or lock a week. Without an API key the same control returns deterministic ideas drawn from project history instead.
A separate coach handles midweek questions in one of three modes: Navigator, Coach or Enforcer. Coaching text is returned immediately, but any proposed change to a confirmed record is validated server side, checked against capacity rules at mutation time, recorded with before and after history, and held until it is explicitly approved or approved after an edit.
Completion feeds a levelling system across six attributes, each running to level 50, with real-world rewards unlocked at thresholds. Rewards are compile-time constants rather than database rows, so a fresh install begins at a genuine level 0 and all XP is derived from recorded completion events. Outcome XP is valued between 0 and 100 by the model, cryptographically tied to the submitted completion, and shown for confirmation before the immutable award is written.
Gallery

A planned week, shown with demo data. One Weekly Boss, a capacity ledger that tracks what the buffer has already absorbed, and the smallest useful win for today.
FEATURES.
Honest Capacity Envelope
Discretionary hours are estimated after known commitments, then split across planned work, an interruption reserve and recovery, before any outcome is chosen.
One Protected Weekly Boss
Each week elects a single highest-value outcome with an explicit definition of done, alongside locked outcomes that are protected and flexible ones that move first.
AI Planning Copilot
Proposes one Weekly Boss, up to two weekly quests and up to three side quests grounded in real project history, fitted to the capacity already set. Suggestions prefill an editable draft and never save or lock the week.
Coach With Three Modes
Navigator for calm analysis, Coach for direct support and Enforcer for blunt feedback. Every proposed record change waits for explicit approval.
Interruption Ledger
Fast capture and classification of interruptions with visible displacement decisions, so unplanned work spends the reserved buffer rather than the whole week.
Scarce Project Slots
Ideas are unlimited but active projects are capped, so activating new work is an audited, conscious trade-off against something already running.
Six-Attribute Levelling
Creation, Hearth, Agency, Resolve, Growth and Endurance, each to level 50, with real-world rewards. XP is derived only from completed outcomes, starting at true level 0.
Confirmed XP Valuation
Completed outcomes are valued 0 to 100 XP by the model, tied to the specific submitted completion and confirmed by the user before the immutable award is recorded.
Context Vault
Bounded local imports of project notes, a conversation snapshot, a handoff or a conservative GitHub repository catalogue, refreshed periodically as reference material.
Tech Stack
App Router front end, route handlers and PWA shell for the single-user application
Type safety across planning rules, capacity arithmetic, coaching schemas and XP derivation
Schema, migrations and query layer over the PostgreSQL store
Durable persistence for weeks, outcomes, interruptions, audit records and XP events
Structured planning suggestions, coaching proposals, voice note transcription and bounded XP valuation
Self-hosted deployment behind a sub-path on the main site, with the database on a persistent named volume
Architecture
Single Next.js application serving planning, weekly execution, coaching, review and levelling, deployed alongside its own PostgreSQL instance.
All AI output is schema-validated before it reaches the user, and structured proposals are separated from any database mutation.
Mutations from coaching proposals are applied only after explicit confirmation, are re-checked against capacity rules at mutation time, and write before and after history.
XP is fully derived from immutable event records rather than stored totals, and rewards are compile-time constants, so a fresh install has every reward available and a true level 0.
Weekly review metrics are recomputed from database records rather than trusted from stored summaries.
Deployed under a sub-path on the main domain, which required explicit prefixing of hand-built URLs, service worker scope, manifest paths and the auth client base path.
Data Model
- •Weeks holding a theme, capacity envelope, allocation percentages and lock state across a Monday to Sunday range
- •Outcomes typed as Weekly Boss, locked or flexible, each with a definition of done, planned effort and an owning attribute
- •Per-week project slot records capturing which project held each slot in a given week, since current slot state keeps no history
- •Interruptions with classification, actual effort and an explicit displacement decision
- •Focus blocks created either as in-progress or as scheduled blocks eligible for reminders
- •Immutable XP events from which all attribute levels and totals are derived
- •Coaching proposals with validated payloads, approval state and before and after mutation history
- •Context sources holding bounded imported snapshots kept as reference material
Challenges
- •Keeping the AI genuinely useful while giving it no authority, solved by making suggestions prefill an editable draft and validating every proposed mutation before it can be confirmed
- •Designing a capacity model that survives a real week, which required reserving interruption budget in advance rather than reconciling overruns afterwards
- •Deriving all progression from immutable events so levels can never drift from the completion record
- •Deploying under a sub-path rather than a dedicated domain, where framework path handling does not rewrite hand-built URLs, service worker scope or manifest paths
- •An auth layer that expects the path prefix in the browser client but not in the server route handler, which produced a login that set a valid session and still reported failure
Outcomes
- •Live self-hosted deployment running as a single-user planning system
- •Weekly planning reduced to one guided pass that produces an explicit, capacity-checked commitment rather than a task list
- •AI assistance available on undecided weeks without ever taking ownership of the plan
- •Complete audit trail across outcomes, interruptions, coaching mutations and XP awards
- •A working answer to the original question: whether an accountability system with an opinion actually changes what gets finished