Unfold

An AI journaling app that remembers so you don't have to keep circling back

Role
Founder, Product & Design
Timeline
4 months, ongoing
Stack
Next.js, TypeScript, PostgreSQL/Prisma, Clerk, Anthropic Claude (Haiku)

Overview

Unfold is an AI journaling app that notices what keeps repeating across your own entries: a worry, a moment, something you keep circling back to, and shows it back to you, in your own words, once it's actually repeated. Not before that. No labels, no advice, nothing you can't check against the page.

The idea

I've journaled on and off for six months. The same worry would show up weeks apart, worded differently each time, and I wouldn't notice until much later, if at all. The entries were right there. Nothing tied them together.

Around the same time, I noticed how many people use ChatGPT for this instead: describe what's going on, get something back that feels like understanding. It works in the moment, but it trains you to outsource the noticing instead of doing it yourself. Unfold started as the opposite bet: memory, not interpretation.

Who it's actually for

People who already journal but rarely go back far enough to see what repeats. The value isn't writing more. It's seeing connections across everything already written.

What I ruled out before deciding what to build

  1. Emotion tags: a label is a conclusion, and it's not mine to hand someone.
  2. Responding to every entry: that turns this into a conversation partner, the exact dependency I was trying to avoid.
  3. Instant patterns: surfaced only after real repetition, never guessed from one entry.
  4. Advice: Unfold notices things. What to do about them is yours.
  5. AI deciding what a person should believe about themselves: it can point at something recurring, not turn it into a diagnosis.
  6. Patterns without evidence: if the writing doesn't clear the bar, nothing surfaces. Silence is a valid outcome.

One exception: if someone's writing shows real signs of crisis, Unfold doesn't try to reflect anything back. It points to real support instead. This is built to help someone think more clearly, not to replace a person when things are more serious than that.

Ruling these out first mattered more than anything I decided to build. Once I knew what I refused to do, what was left to build actually pointed somewhere.

The judgment boundary

The safest version of Unfold would never interpret anything: just find a repeat, show the words. That failed in two directions: too strict, and it missed the same worry worded differently across entries; too loose, and a single passing moment turned into a confident-sounding verdict about who someone was. What's left is the boundary: Unfold can say this keeps showing up. It can't say this is who you are.

Saying that was easy. Enforcing it wasn't. That's where the product decisions turned into engineering ones.

How it actually works

Unfold reads everything you write, but says nothing until something has genuinely repeated: not just mentioned, but the real point of more than one entry. When it has, Unfold shows the pattern back in your own words, next to the moments that led there, so you can check it against your own writing instead of taking it on faith.

Unfold patterns view showing repeating moments from the journal
Unfold journal entry with a highlighted line in the writing

How I get there

The sections above are the whole product. What follows is for anyone curious about the harder calls along the way. Skip it if you'd rather not.

The challenges, quickly

ChallengeWhat I landed on
How much evidence is enough before something counts as a pattern3+ entries, confidence ≥ 0.75 each, primary reading in at least 2
Where AI judgment should stopIt can name the repeating behavior. It can't say why, or what it means about you
Closed vocabulary vs. letting AI name things freelyTen fixed behaviors: less complete-sounding, far more consistent to test
Crisis handling had no safe generic answerRewrote this more than any other copy: narrow and honest over broad and vague
Testing found a pattern erased, not just mislabeledA correct 75% overlap merge quietly took an unrelated entry down with it

A couple of these took a lot more back-and-forth than the table shows. Worth the extra detail:

How much evidence is enough?

I tried scoring emotional weight, letting the model rate its own certainty, even a drag-and-drop canvas to connect entries by hand. Every version still let one good-sounding read through. The table numbers above are what actually held, with no exceptions, even for a single very confident entry.

Where does AI judgment actually stop?

I first kept AI out of it almost entirely: just show the quotes, say nothing. It felt like homework, not help. So I swung the other way and let it explain what the pattern meant, which crossed exactly the line I didn't want to cross. The catch that mattered most wasn't a rule. It was noticing I was using AI more than I needed to, just because I could. That became the filter for every decision after.

Testing found a pattern erased, not just mislabeled.

15

test entries

5

intended patterns

4

surfaced

  • Perfectionism overlapped 75% with self-doubt → correctly merged
  • One perfectionism-only entry, 0% overlap → merged away anyway

The merge ran per category, not per entry. Found by not trusting a clean-looking result.

Privacy

Entries save locally first, on your device, as you type. They sync only once you're signed in. Never used to train anything, never shared.

Where it stands, and what's next

Unfold is live and being tested with early users. The next phase is less about adding features and more about seeing whether the core idea holds up in real use: do people recognize themselves in what surfaces, and does the evidence make each pattern feel earned? That's means:

  1. Fix entry-level overlap merging
  2. Validate whether patterns feel useful rather than intrusive
  3. Explore what other connections in a journal are worth surfacing