Habit tracking, reimagined for the AI age

The habit tracker you can talk to

Track any habit — the ones you're building and the ones you're trying to break. Set them up by describing them, check in by saying what happened, and ask what your own history actually shows. Or click through it like any other app. Same operations either way.

Works from the web app, or from Claude and anything else that speaks MCP. Founding accounts lock their price for life.

Setting one up Chat

I want to stop scrolling in bed. Usually happens after 10 when I'm tired.

Called 4 tools

  • create_habit(name: "No phone in bed", kind: "break")
  • set_signal(track: "bedtime phone use", window: "22:00–00:00")
  • set_check_in(cadence: "nightly", prompt_at: "22:45")
  • link_habit(to: "bedtime", reason: "shared window")

Set up as a break habit with a nightly check-in at 10:45pm, tracking the 10pm–midnight window. I've linked it to your bedtime habit since they share a window — in a few weeks we'll be able to see whether one moves the other.

It asked one question, not fourteen. The habit, the signal and the cadence were all decided in the same sentence you'd use to describe the problem to a friend.

One system, two ways in

Not a chatbot bolted onto a habit app

Most apps with a chat window can answer questions about your data. This one drives it. Both surfaces call the same registered tools, so anything you can do by tapping you can do by asking — and the reverse.

Traditional UI

Tap it like any tracker

A board, a check, a streak. Everything has a screen, because a single tap is genuinely the fastest way to log a habit you do every day at the same time.

This fortnight 3 habits
Read before bed 11 day streak
Building
No vaping 23 days clear
Breaking
Alcohol-free days 3 of 4 this week
Target
Chat

Or just say what happened

Useful for everything a checkbox can't hold — the near miss, the reason, the day that was complicated. And for asking questions no tracker has ever been able to answer.

  • "Ran 5k this morning, felt terrible but did it"
  • "Caved and had a cigarette at Dave's — first in three weeks"
  • "Why do I always fall off in week three?"
  • "Does drinking actually wreck my sleep or do I just think it does?"
  • "Make the reading target three nights a week, not seven"

Both surfaces call the same registered tools

create_habit log_check_in log_slip get_streak set_target find_pattern correlate_habits summarize_progress

One registry, one permission model, one history. A tool built for a screen is available to the chat the same day — and to any MCP client you point at your account.

Where the numbers come from

The model never invents your progress

This matters more here than it looks. A tracker that flatters you is worse than no tracker at all, so the language model reads what you said and picks which operations to run. Your record does the counting.

Counted, not generated

Streaks, rates and totals are computed from your check-ins by the same code that runs the board. Ask the same question twice and you get the same answer, because nothing about the number came out of a model.

It shows its working

Every reply lists the tools it called and the arguments it used. If it logged the wrong habit or misread a date, you see that immediately rather than finding a wrong streak three weeks later.

It won't rewrite your history

Reading is free. Anything that changes a check-in, a target or a past entry is confirmed first and recorded as an edit, with a note that it came from chat. Your record stays something you can trust.

Both directions

Breaking a habit is not building one in reverse

Almost every tracker is built for streaks, which quietly makes it useless for the half of the problem people care about most.

Building

Show up, keep showing up

Here a streak is the right idea — but a weekly target usually beats a daily one, rest days aren't failures, and the useful question is which conditions predict the sessions you actually complete.

  • Targets per week, not just per day
  • Rest days recorded as rest, not as a miss
  • Partial credit, because ten minutes still counts
  • A nudge at three days, when a gap is still recoverable
Breaking

Fewer, then rarely, then none

Here a streak counter is actively harmful: it resets to zero after one slip and wipes out six real weeks of progress. What helps is the trigger, the near miss, and the trend across months.

  • Slips logged with context, not treated as a reset
  • Cravings and near misses recorded as their own signal
  • Tapers and reduction targets, not all-or-nothing
  • Trend over months, so one bad week reads as one bad week

What's underneath

A habit record worth talking to

The chat is only as good as what it can operate. Underneath is a record designed to hold the messy parts, not just a grid of ticks.

Habits you describe, not configure

Say what you're trying to change and it works out what to measure, how often to ask, and what counts as a good day. Adjust any of it later by saying so.

Targets that hold a number

Four alcohol-free days a week. Three runs. Under 2,000 steps of scrolling. Real goals have numbers and periods in them, and a checkbox can't represent either.

Slips that don't erase progress

One cigarette after five weeks is a data point, not a reset. Log it, log what was happening, and keep the five weeks — that's what makes the sixth week survivable.

Patterns you'd never find yourself

Which day you drop off, which hour the cravings land, what preceded every week you quit. It's your data; the difference is that something is actually reading it.

Habits measured against each other

Ask whether your sleep tracks with your drinking, or whether the phone-free mornings are what's driving the reading. Correlations across habits, on request.

Reminders that notice

Not a fixed 9am ping you learn to dismiss. A nudge on day three of a gap, at the hour you usually slip, or when a week is about to miss its target.

Open by default

Bring your own AI

The same tool registry is exposed over MCP, so your habits aren't locked behind our chat window. Point Claude, or anything else that speaks the protocol, at your account and it can check you in, pull your streaks and answer questions about your history under exactly the permissions you granted.

Which matters more for habits than for most things: the assistant you already have open at 11pm is the one you'll actually tell.

  • Standard MCP server, no bespoke integration
  • Scoped tokens — read-only, or read and write
  • Every call attributed and logged, same as the app
  • Your habit data is never used to train a model
From Claude, at 11pm Chat

log tonight's reading, about 25 minutes, and tell me how the month's going

Called 3 tools

  • log_check_in(habit: "reading", minutes: 25)
  • get_streak(habit: "reading")
  • summarize_progress(period: "month")

Logged. That's 11 nights running and 6.5 hours this month, up from 3.2 in June. Your only two misses were both nights you logged a late finish at work.

Same tools, same record, same permission model — called from a different client entirely.

Not everything is a habit

Autism tracking, without the habit-tracker model

Behavior, meltdowns and shutdowns, stimming, sensory triggers, tics, mood and sleep. Recorded to understand a pattern and to have something real to bring to the next appointment — never to reduce anything.

Stimming is regulation, not a habit to break. A tic is involuntary. A meltdown isn't a choice. None of those belong behind a streak counter, so they have their own section with no targets in it.

Delayed, dose-dependent, confounded

Food, allergies and symptom tracking

Elimination diets, low FODMAP, intolerance, allergy reactions, gluten, IBS, migraine triggers and eczema flares. The reaction was two days ago and you're trying to remember lunch — which is exactly the problem a timestamped log solves and memory never will.

Food diaries fail because they ask for more work than anyone sustains past week two. A sentence is a much lower bar, and the precision that matters here is timing rather than grams.

Early access

Start with one habit

Tell us what you're working on and we'll set it up with you — measuring the right thing, at a cadence you'll actually keep.

  • Founding accounts lock their price for life
  • No card, no trial clock, no streak-guilt notifications
  • Export everything you've logged whenever you want

No card required. Unsubscribe any time.

Questions

The ones worth asking

Can the AI make up a streak?

No, because it never calculates one. The model decides which operations to run and what to pass them; your record does the counting and returns the figure. The same question always produces the same answer, and every reply shows which tools ran and with what arguments.

What if I don't want to use the chat at all?

Then don't. Every function has a screen, and the app is complete without ever opening the chat window. It's a second way in, not a replacement for the interface.

Does it work for quitting things, not just building things?

That's most of why it exists. Breaking a habit needs slips logged with context rather than a streak reset, near misses recorded as their own signal, and reduction targets rather than all-or-nothing days. Streak-first trackers can't represent any of that.

Is my habit data used to train a model?

No. What you log is yours. It isn't used as training data and it isn't shared with other accounts. You can export all of it, or delete all of it, at any time.

What does the model actually see?

Only what's needed to answer what you asked — the habits and check-ins relevant to the request, not your whole history by default. What was sent is visible on every reply.

What's MCP and why should I care?

It's an open standard for letting AI assistants call an application's functions. Because the same tools are exposed over it, you can check in and ask about your habits from Claude or whatever you already use, rather than being stuck with our chat box. Scoped tokens mean you control exactly what it can do.

I've abandoned every habit app I've tried. Why would this be different?

Usually the app broke before the habit did — the logging was more work than the habit, or a single slip zeroed a counter and the whole thing stopped feeling worth opening. A sentence in passing is less friction than a form, and a slip here is a data point rather than a reset.

Track it by talking about it

Founding pricing is locked for accounts opened during early access.

Founding accounts lock their price for life. No card required.