Momentum OS: An Accountability Coach With One User
TL;DR
A small experiment: a week-first planner with an AI coach that works out my real capacity, suggests what matters most, and then waits for me to decide.
Benjamin Hyde
Education Leader & AI Builder
This week I shipped Momentum OS, a week-first planner with an AI accountability coach built into it. It is a deliberately small experiment with exactly one user: me.
I do not have trouble finding things to build. I have trouble deciding which one deserves the week, and then holding myself to that decision once something more interesting turns up on Wednesday. I wanted something that could look at my actual week, tell me how much time I really have, and help me pick the one outcome worth protecting.
The rule I set before writing any of it: the AI suggests, I decide. Nothing the model produces gets saved until I confirm it.
Start with an honest week
Planning runs as a ten-step flow: review last week, set capacity, choose a theme, define one Weekly Boss, add weekly quests and side quests, set maintenance floors, name deliberate exclusions, list risks, then review and lock.
Step two does most of the work. I estimate discretionary hours left after meetings, family, fitness and recovery, then split them 60% planned work, 25% interruption reserve and 15% overflow. Reserving room for interruptions before the week starts is what stops the plan being a fantasy by Tuesday.
Everything after that is a trade-off made in advance. Locked outcomes are protected. Flexible outcomes are the ones that move first when something legitimate eats the week, and I decide which is which while I am calm rather than mid-panic.
Where the AI actually comes in
There is an on-demand planning copilot. It reads my active projects, recent work and imported context, then proposes exactly one Weekly Boss, up to two weekly quests and up to three side quests. It has to fit the capacity I already set, and it is told to suggest shippable results rather than vague activity.
Then it stops. Suggestions only prefill an editable draft. They never save the week and they never lock it. If there is no API key available, the same button falls back to deterministic ideas drawn from my own project history.
That is the entire point of the experiment. I did not want an AI running my week. I wanted one that has an opinion on the weeks where I genuinely do not know what to work on, and stays out of the way on the weeks where I do.
The coach
The coach is a separate screen for asking a question mid-week: what changed, what is stuck, or whether a replan is honest or just convenient. It has three modes, Navigator for calm and analytical, Coach for direct and supportive, and Enforcer for blunt but not abusive.
The guardrail is stricter here than in planning. Coaching text appears straight away, but any proposed change to a confirmed record is validated on the server and waits for explicit approval. Capacity rules are enforced at the point of mutation, and before and after history is kept, so the coach can push back but it cannot quietly rewrite what I committed to.
Making it stick
The part that makes it more fun than a spreadsheet is the levelling system. Six attributes, Creation, Hearth, Agency, Resolve, Growth and Endurance, each running to level 50, with real-world rewards unlocked along the way. It starts at a genuine level 0 and XP only comes from completed outcomes.
Even the points need a human yes. Completed outcomes are valued between 0 and 100 XP by the model, tied to the specific completion I submitted, and shown for confirmation before the award is recorded.
What's next
The Context Vault imports project notes and a weekly snapshot of my GitHub repositories, but none of that reaches the coach yet. The prompt is built from weeks, outcomes, capacity and blockers only, so wiring the catalogue in is the obvious next piece.
Past that, the plan is just to use it. It is an experiment, and the only real test is whether I am still opening it in a month.
Screens




Build Notes
Approach
Build a week-first planner for one user where AI proposes and the human disposes. Capacity and interruption reserve are set before any work is chosen, and no model output can mutate a confirmed record without explicit approval.
Tools Used
Next.js 16, TypeScript, Prisma, PostgreSQL 17, Docker, Caddy, OpenAI API for planning suggestions, coaching and XP valuation, Claude Code for the build
What Worked
Holding the line that suggestions only prefill an editable draft. It made the AI genuinely useful on the weeks I was undecided without ever making the plan feel like it belonged to something else. Reserving interruption capacity up front was the other one, because it turned an optimistic plan into an honest one.
What Failed
Deploying it under a sub-path rather than its own domain cost more than the feature work did. Framework path handling does not rewrite hand-built URLs, and the auth layer wanted the prefix in the browser but not on the server, which produced a login that set a valid session and then reported failure anyway.
What's Next
Feed the Context Vault and the weekly GitHub snapshot into the coaching prompt so suggestions are grounded in what I have actually been shipping. Then use it for a month and see whether it survives contact with a busy term.