Cadence Orchestrating Life
One logged action updates an entire graph, and the schedule evolves to match what you actually do.
Scroll to explore
The Problem
Most task trackers are isolated checkboxes
Check a box in a normal to-do app and nothing else happens. The box doesn't know it's related to other boxes. It doesn't remember when you last checked it, or how often you tend to. It certainly doesn't adjust its own schedule based on what you actually do.
This project treats tasks as a graph, not a list. Log one thing and updates ripple through every parent category it belongs to. Scheduling adapts from real behavior. Exercise is the clearest place to see it (the hierarchy is deep and the tags are dense), but the same engine runs household cleaning, plant care, hygiene, and wellness routines.
The Insight
One log can update an entire graph
Log one exercise (say, a kettlebell Bulgarian split squat) and the system walks up every parent it belongs to. That single log updates "legs," "unilateral," "kettlebell," "strength," and "exercise" all at once. One action, dozens of nodes touched.
Exercise is the best place to see this because the tagging runs six dimensions deep: movement pattern, muscles, equipment, energy system, objective, type. The graph below lets you explore the full hierarchy.
Interactive Category Hierarchy
Click any segment to zoom in. Click center to zoom back out. This exercise subset contains 353 nodes across 6 dimensions.
Propagation is recursive, not symbolic
The animation below shows what happens when one task fires: the update climbs every path to the root. Same thing happens when you log a cleaning task, water a plant, or check off a morning routine. One action, many updates.
Cascade Animation
Example shown: one "KB Bulgarian Split Squat" log ripples through multiple parent paths and converges at the top-level Exercise node.
Single-example blast radius from the cascade view. Immediate updates are dozens deep inside a graph with hundreds of nodes.
In Practice
Same data, multiple interfaces
You can use a table UI, a desktop coding workflow, or mobile chat. All three write to the same underlying task graph and frequency model.
The mobile workflow is especially useful when away from a computer, including building climbing workouts on the go with climbing-specific logging guidance.
Mobile, Full Context
Two real mobile snapshots showing why this matters: the same task graph and tools are available away from your desk.
Evolution
From spreadsheet to conversation
This started as a Google Sheet in 2016. I logged tasks by hand, tuned cadences by feel, and it worked well enough for years. Then the sheet became code: a Python engine with recursive logging and adaptive scheduling. Then the code got an interface: MCP tools that let an AI assistant log tasks, check urgency, search the graph, and build plans — all inside a conversation.
Each phase meant less typing and better decisions. The current version feels like talking to someone who remembers what you did, knows what's overdue, and can help you plan the next week.
Key shift: MCP turns task management from "I log everything" into "the agent helps execute and orchestrate."
Trust
Automation with control
The agent can execute task operations, but the system is built to stay inspectable and reversible. You can review current state, see why a recommendation was made, and correct individual entries without breaking the broader history.
Architecture pattern: a general intelligence agent orchestrates tools and calls specialized models where they outperform broad language models.
Model Strategy
Let the generalist orchestrate, let the specialist predict
The AI assistant understands what you're asking and decides which tools to call. But when it comes to predicting which task you'll pick next, it hands off to a dedicated ML ranker trained on your actual behavior history. The ranker is better at that one narrow job than any general model.
One layer for conversation and reasoning. Another for precision scoring. The assistant decides when to use the ranker, then blends its output with everything else it knows about your goals and context.
The predictor is one tool in the agent's toolkit, not a replacement for general reasoning.
The Mechanism
Frequency evolves from behavior
Frequency is measured in days between expected completions. A higher frequency value means the task is due less often; a lower value means it is due more often.
Each task starts from a baseline cadence. Then the system adapts using completion timing and non-completion: chosen before due date -> divide by 1.382 (surfaces more often), ignored until late/overdue -> multiply by 1.382 (surfaces less often).
Survival of the chosen: the tasks you actively choose keep earning attention, while neglected tasks gradually drift outward.
Frequency Evolution Over Time
Illustrative mixed-domain tasks with realistic divergence. Choosing tasks early pulls their interval down (/1.382); repeatedly ignoring tasks pushes it up (x1.382).
Before & After
Left: near-uniform starting cadence. Right: the same task IDs after adaptation. Each bar represents one task.
Results
Better structure makes prediction easier
Structure the data well and prediction becomes almost easy. When every log carries hierarchy, timing, and frequency context, patterns emerge that a flat to-do list would never reveal. The model can learn that after you climb, you tend to stretch. That you clean the kitchen on Sundays. That when urgency spikes on three plant tasks at once, you handle them together.
The specialist ranker scores likely next tasks from your behavior history. The assistant decides when to consult it, mixes in its own reasoning about your goals and schedule, and surfaces a recommendation.