AI Habit Tracker
A habit coach where the model is never allowed to do the arithmetic.
The model does not count
Language models are bad at arithmetic and confident about it. A habit tracker is almost entirely arithmetic — streaks, completion rates, rolling windows — so the design rule was simple: the model never touches a number it has to compute.
Streaks and rates are pure Python, covered by fifteen tests. The LLM receives the finished summary and does the one thing it is good at: interpreting it and saying something useful about it.
Why that matters beyond habits
This is the general shape of a reliable LLM feature. Work out which parts of the task are deterministic, implement those as code you can test, and hand the model only the part that needs judgment. The failure modes then become debuggable instead of mysterious.