Forme

A habit tracker built for one. Built in a day.
Weather app image
Weather app image
Weather app image
Weather app image
Weather app image

Why I built it

Every habit app I tried was built for a fictional average person. Streaks wanted me to track 6 things. Notion templates looked beautiful and did nothing. Apple Fitness was the closest - but it only knew about movement.

I wanted one app that tracked deep work, learning, fitness, and sleep in that order, for that reason with a focus timer that didn't lie to me about whether I'd actually done the work.

So I built it. One evening. It's been on my home screen since.

What it does

Four habit rings. A focus timer. A notebook. A calendar that shows you who you've been.

Nothing else.

Three decisions and why I made them

Ring order is a values hierarchy, not a design choice.

Deep Work sits outermost - the largest ring, hardest to close. Wake at 7am sits innermost because it's nearly automatic, giving every day a guaranteed baseline of progress. The order is intentional: it reflects what I believe matters most, surfaced every time I open the app.

The timer needed to be honest with me.

Sessions under 20 minutes get flagged - not blocked, just questioned. I researched the science on deep work and distraction recovery; anything under 20 minutes rarely produces meaningful output. At 25 minutes, the timer offers a 5-minute break rather than letting you grind into diminishing returns. Every session ends with one field: What did you work on? That answer becomes your record visible in the calendar weeks later. It turns a habit tracker into a work diary.

The calendar had to feel like reflection, not reporting.

All rings closed: "This is what choosing yourself looks like." Partial progress: the exact gap, no vague shame, just information. Empty day: "Not every day is perfect. Notice it, then move forward." I studied how Apple Fitness uses emotional language at the end of a ring-closing workout. That feeling of being seen by your own data - I wanted that in a web app, without the Apple ecosystem requirement.

What the research told me

I looked at three things before writing a line of code: how habit streaks affect motivation (they help until they hurt - the fear of breaking a streak is demotivating), how focus session length maps to output quality (the 20-minute threshold is real), and how people actually feel about habit apps after 30 days (most abandon them because the app stops feeling personal).

All three informed the design. No streaks. Honest friction on the timer. The ring order changes meaning as your life changes - you can swap habits without losing the logic.

Limitations, stated plainly

Data lives in localStorage - it's device-locked. Supabase sync is the obvious Phase 2, once I've actually confirmed these are the habits I want to track long-term. Apple Fitness can't integrate natively; HealthKit requires a native iOS app. The manual tap stays for now and honestly, there's a reasonable argument that logging it yourself reinforces the habit loop better than passive sync.

What it taught me

Building for yourself is the most honest form of UX research. There's no survey bias, no recruited participants, no stakeholder to manage. Every friction point is something you feel personally. Every decision you second-guess at 11pm is probably the right thing to test.

Forme is live. It's on my home screen. I used it this morning.

This was built in a day using Claude as a development partner — design, code, and logic written together in a single session. The serious portfolio work lives at www.tanishajain.com

Built with curiosity. Fuelled by music and ideas!

Let's make something
worth scrolling
for