A habit tracker driven from WhatsApp, built on two scoring models: maintenance habits that reset every midnight, and construction habits that only ever accumulate.

Habit apps score every habit the same way, so brushing your teeth and studying for a year sit in the same list with the same streak counter. Miss a day of either and you are punished identically, which is wrong in both directions.
Running daily as my own habit system, with the WhatsApp bot handling check-ins so the web panel is optional rather than a chore.
Arruma AI splits the day into two tracks that are deliberately scored in different ways. Maintenance — brushing your teeth, doing the dishes — holds today up and resets at midnight, so it is shown as 'today, 4 of 8'. Construction — studying, applying to jobs, training — only pays off cumulatively, so it never resets and is shown as a total and a streak. Skipping one day costs nothing; skipping thirty costs a year. Everything is driven from a WhatsApp bot that nags, records and answers, backed by a Next.js panel. A single Baileys session serves every account: the sender's number identifies the account, and messages from unknown numbers are ignored without their text ever being stored. Exact commands are always matched first, and the language model only handles what would previously have fallen through to 'I didn't understand'. Privacy is enforced structurally rather than in the prompt — one file assembles context and one file talks to the model, and neither imports the notes tables, an invariant you can check with grep.
