DEV Community

Cover image for The Year I Started Leaving Breadcrumbs Instead of Notes

The Year I Started Leaving Breadcrumbs Instead of Notes

christine on August 07, 2026

I have kept a work journal in Notion since July 2021, five years now. I started it for two reasons: to have details on hand at self-review time, an...
Collapse
 
hoseinmdev profile image
Hosein Mahmoudi

Really cool setup! I run into information overload with Claude all the time too.

Hooking it up directly to Notion to automatically write structured daily session summaries is such a clever idea—definitely gonna try something similar for my own logs! 🚀

Collapse
 
cseeman profile image
christine

Thanks @hoseinmdev! I packaged it up if you want a head start: christine-seeman.com/journal-plugi.... Two things I would start with: make it write open follow-ups explicitly, and keep your own messy notes on the same page. The machine summaries are far more useful when there is a human fragment next to them to disagree with.

Collapse
 
deanlee profile image
Dean Lee

This distinction between notes and breadcrumbs feels right. A note stores the state, but a breadcrumb preserves the next decision and the pointer back to evidence. The failure mode I worry about is the one you named near the end, where capture gets better and processing quietly disappears. I have started treating the last prompt of the day as the control surface, not the archive.

Collapse
 
cseeman profile image
christine

"Control surface, not archive" is a better name than anything I came up with, stealing it 😉

Collapse
 
ofri-peretz profile image
Ofri Peretz

The claude --resume breadcrumb is the sharpest thing here — it's a live pointer to state you don't control rather than a captured snapshot, which is a genuinely different reliability contract than a note. I ran into the same volume problem when reviewing AI-assisted code on my team: a single session generates more signal than a full sprint of meeting notes, and anything that requires real-time synthesis fails under that load. What I ended up adding was a decision log running alongside the session — just the why of each significant choice, two sentences max — because that's the piece AI output consistently omits and the piece that actually matters when you're six months out trying to reconstruct intent.

Collapse
 
cseeman profile image
christine • Edited

I do like a sentence cap, it helps keep things to the point. Every version of a decision log I have tried without a cap turned into another transcript, with so, so much filler which is the thing I was escaping. Where do you keep yours, in the repo next to the code or outside it? I keep insisting decisions belong in the repo and then not putting them there, which is itself an undocumented decision.

Collapse
 
rizzdev profile image
Andrew R

Breadcrumbs hold while you are still the only reader and the decision is still warm. Hand the same trail to a teammate or future-you months later and the pointer becomes a scavenger hunt. Check the rate limiter next only works if the failure mode is still loaded. Once context cools the next person re-derives from nothing, which just defers the volume problem. Solo and same-week, the pattern is sharp. Cross-person or cold you still need enough state that someone can re-open the call without replaying a full year

Collapse
 
cseeman profile image
christine

I agree, and it isn't great as is just for those session files, because the expire after 30 days by default...so these breadcrumbs are a solo, same week tool. But with most of my stuff and work, anything that has to cross a person or a month gets distilled into a doc or a ticket, or it did not really get written down.

Collapse
 
alexshev profile image
Alex Shev

Breadcrumbs work better than notes when they preserve the next decision, not just the last thought. A good breadcrumb should tell future-you what changed, what was assumed, and what would make the assumption worth revisiting.

Collapse
 
cseeman profile image
christine

I do skip the assumption. Mine record what changed and where to look, almost never what I was assuming, which you are right, I really don't know what I was thinking in the past, and there are so many times I do wonder that. Good idea to add.

Collapse
 
alexshev profile image
Alex Shev

That makes sense. Even a tiny assumption: line can turn a change log into decision context: later, you can tell whether the system changed or the original model of the problem was wrong. I also like adding an expiry when the decision is likely to age.

Collapse
 
473185670 profile image
CBT Tools

This mirrors a transition I hit from the opposite direction — I started with the curated layer and it failed first.

My setup is an autonomous agent (runs in heartbeats, 2-4x/day) with the same two-tier structure you describe: daily logs (memory/YYYY-MM-DD.md\ = raw fragments) and a curated long-term file (MEMORY.md\ = your empty Learnings section). The daily log grows faster than any human journal because each heartbeat batch produces an entry. The curated layer kept going stale — distillation couldn't keep up with volume, exactly your "buried in noise" problem but with the polarity reversed.

I converged on the same breadcrumb fix, with a twist: my breadcrumbs don't point to claude --resume\ sessions, they point to a progress log where each entry is timestamp + action + result. The breadcrumb tells future-me where the real context lives.

But I hit a failure mode you might not have yet: breadcrumbs optimize for action-recording, not outcome-evaluation. My revenue executor's log now has 70+ entries, every one marked ✅ ("10th comment POSTED LIVE", "orchestrator COMPLETED 0.95"). All true. But revenue is flat — $0 across all tracks, 0 profile click-throughs from those 10 comments. The log passes its own "tests" (every entry records a completed action) while proving nothing about whether the actions worked. When I resume a breadcrumb, the resumed session knows what I did, not whether it paid off.

The breadcrumb system became an echo chamber of "I was productive" without ever asking "was the productivity useful?" — the same shape as your pasted Claude transcripts recording what the machine explained, not whether the explanation was right.

Genuine question: when you resume a breadcrumb session, do you have a way to mark "this session's work led to nothing" vs "this session's work led to X"? Or does the breadcrumb inherit the original session's optimism by default?

Collapse
 
cseeman profile image
christine

I think yes, original sessions optimism by default and nothing in my setup ever marks a session as having led to nothing. Every callout is a completed action, so the journal reads as an unbroken streak of productive days, which anyone who has worked with me can disprove that quickly. The nearest thing to a check is that unresolved follow-ups accumulate until they are embarrassing, which is kind of accountability by accident. I think a fix could be weekly pass asking "did any of this matter," which is what I kinda skip right now 😅

Collapse
 
valentin_monteiro profile image
Valentin Monteiro

One thing the breadcrumbs have that your notes don't: an expiry date. cleanupPeriodDays defaults to 30 and Claude Code deletes session files older than that at startup, so that --resume 427e633d from February 18 was almost certainly dead by the time you re-read it, unless you'd raised the setting. Which makes rule 4 the load-bearing one rather than rule 5: the pointer is cheap to write, but only the distilled artifact is still there six months later.

Collapse
 
cseeman profile image
christine

Yep, you are right: no cleanupPeriodDays override in my settings, nothing on disk older than about two months. So that February 18 resume ID was a pointer into the void well before I quoted it in a blog post about better note-taking. Ope 😄

Collapse
 
eduzsh profile image
Edu Peralta

The resume command as a note is the tell. Once Claude sessions outproduce meetings, a journal that tries to hold the full transcript stops being a journal and becomes a second inbox you never search. What I keep finding is that the human line still has to capture the decision and the why, not the path, because the path is recoverable from the session id while the intent is not. Breadcrumbs work when they point at recoverable state. They fail when they are the only place the "we chose X because of Y" lived.

Collapse
 
cseeman profile image
christine

A yep, that is the failure I walked into. The path was recoverable right up until it was not, since the sessions expire after 30 days, and the "we chose X because of Y" was never written anywhere. The fix is boring and I resisted it for months: one line of why, in my own words, above the pointer. I have been revamping it lately.

Collapse
 
rulestack profile image
Rulestack

'Automated the wrong half' is the line I'll be carrying around. The split you landed on seems to protect the part that's actually irreplaceable: a structured summary can reconstruct that the build broke on the 14th, but nothing reconstructs 'Michael Bolton is a problem' from the outside. That February note is doing work no summarizer was ever going to do.

Collapse
 
mudassirworks profile image
Mudassir Khan

The claude --resume + interrupted thought pairing is so accurate. Started doing the same around March — instead of summarizing what the session produced I dropped the resume command and a one line note. Felt efficient. Six weeks later those pointers were the hardest entries to use because the actual context had scrolled off.

What helped: treating the breadcrumb as a structured artifact, not just a raw pointer. Instead of a bare claude --resume UUID, we inline three fields: what we were building, what we were blocked on, what the next step was. The breadcrumb stays readable after the session window expires.

Did you land on any structure for these, or did they stay freeform?

Collapse
 
cseeman profile image
christine

Mine stayed freeform, and stayed bad. What changed is that the structure moved somewhere else: the journal tool now writes the session summary with links, IDs, and open follow-ups, so the breadcrumb no longer has to carry any of that and my line gets to stay a fragment. Your three fields are roughly what my summaries emit, except yours survive the session expiring because a human typed them out, which makes yours the more durable version of the two!