I’m building a habit tracker that can tell me why I keep failing at my habits

I’m at a meetup today, building something.

This is the second meetup I’ve come to that’s hosted by Harkirat Singh. He does these meetups free of cost, and somehow manages to attract a really good crowd of actual builders. I’ve found that combination quite rare.

Today’s meetup is build n yap 9.0 : build in public hours — basically 4 hours to build, ship and share.

So, this is what I’m building.

I track habits. I journal.

Both of these have been extremely high-value activities for me in terms of my mental health and productivity. But I’ve always done them in separate apps.

Purely from a logistical standpoint, it’s annoying to do both on separate platforms. I would want to be able to do both in one place.

But I think there is a much more interesting reason to bring them together.

They work in synergy.

The more I track my adherence, the better I get at noticing my lapses.

And my lapses are usually driven by some real-life cause.

For example, I might not stick to my diet because I had a particularly stressful day. Or I might stop working out because I was sleeping badly. The habit tracker tells me what happened. The journal can tell me why.

On a day-to-day basis, I can capture the immediate visible reason for why my adherence failed.

Then, over a longer timeline — say a week or a month — I might notice that the same visible cause keeps repeating.

That’s where the app can start becoming more interesting.

It can spot those patterns for me.

And then potentially help me tie the visible cause back to a more fundamental reason.

That’s where I want the app to nudge me to stop and introspect.

The journaling then helps me understand why that fundamental reason exists and what I can actually do about it.

So the basic loop becomes:

Track → notice lapses → capture why → spot patterns → introspect → understand → improve.


I didn’t build the first version from scratch

I found two open-source apps that already did the two things I wanted separately.

Loop Habit Tracker by Alinson Xavier handles habit tracking really well.

StoryPad is an open-source journaling app from F-Droid that handles the journaling side.

I then used Claude to merge the two and build Version 1.

The goal for Version 1 was deliberately boring:

Just make the two things work together in one app.

Habits, reminders, tracking, history, journal entries, moods, tags, search etc.

But with a few important overlaps.

A journal entry should be able to show what happened with my habits that day.

A habit should be able to show that I journalled that day.

And while writing a journal entry, I should be able to tag specific habits as relevant to what I’m writing about.

The idea is that I shouldn’t have to think about which app I’m supposed to open.

I just capture what happened.


Version 2 is where it gets interesting

The next thing I’m building is a local trends engine.

I don’t just want the app to store my data. I want it to notice things.

If I keep missing the same habit on Tuesdays, it should notice.

If my mood tends to drop before I stop exercising, it should notice.

If I keep writing about the same thing in my journal whenever I fail at a particular habit, it should notice.

And then it should nudge me:

“Hey, have you noticed this?”

Version 3 takes this one step further.

I want to use AI to process the information across both the habit tracking and journaling sides and generate actual introspection insights.

But there’s one constraint I care about quite a lot:

I want this to be 100% local.

No server.

No sending my journal to somebody else’s API.

No cloud processing of what is probably some of the most personal data I have.

The whole thing should work offline, on my phone.

So right now, that’s the problem I’m figuring out:

How do I run a useful local LLM on the phone, and use it to make sense of my own data?

That’s what I’m building today.

Now let’s see how far I can take it.

You might also like