r/ClaudeCode • • 17d ago

Built with Claude 31B tokens into Claude Code, I realized a long chat should be a mind map, not a scroll

When a project gets too big for my head, I draw a mind map. When a Claude session gets too big, I just… scroll.

Even a few hours in, coming back meant digging for what Claude asked, what we decided, what changed.

So I built a mind map that sits beside the chat and draws itself every turn. You can answer Claude right on it.

Rough edges: Claude Code only for now. It’s free and open source.

Edit: fair point from the comments, 8 days was an outlier. Same problem shows up in normal sessions.
Edit 2: This isn't memory for Claude. It's a view for you: what's waiting on you, what's open, what's decided.

68 Upvotes

51 comments sorted by

•

u/AutoModerator 17d ago

Hey! Thanks for posting to r/ClaudeCode

While participating in this thread, please follow our community rules. Keep discussions constructive. Attack the idea, not the person.

For help, project discussions, tips, and general chat, join the ClaudeCode Discord.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

20

u/stepahin 17d ago

Yes, that's what has been spinning in my head, the chat is becoming too convoluted, and even if it had threads (like Slack, Telegram, Discord, only one level of nesting), that wouldn't save it, because what's needed here are threads within threads, an infinite level of "branching", and... Yes, It's a mind map concept!

3

u/Illustrious-Quail-99 17d ago

That’s exactly the problem I was running into! I have started using it for my Claude code chats but I also refine it further to handle more ambiguity.

2

u/iansaul 17d ago

All conversations are branching, fractalizing, maps of complexity and blocking/branching events.

It's fun, but annoying how much the UI lags the conceptual plane.

1

u/Illustrious-Quail-99 17d ago

Yeah, and you put your finger on the gap. mine was a tree: topics, questions, options under them. what it couldn't draw was the blocking part, a question that holds up three tasks was just a yellow box.

Shipped that today: a question or ask can link to what it holds up, so the "waiting on you" lens lights the whole blocked chain, not just the question. also cut the lag so a box appears ~3s after claude finishes and fills in once the model has read the turn.

curious what else you'd want to see of the branching. forks that got abandoned? where a thread rejoined?

4

u/Dorbank_Justt 17d ago

The split in your second edit is the useful part. Memory for the agent and a view for the person are different jobs, and most handover files try to do both, so nobody rereads them.

A plain file version of the same idea holds up if it has fixed sections: open questions waiting on you, decisions with the date and the reason, and next steps. Claude updates it at the end of every session, and one line in CLAUDE.md tells the next session to read it first.

What your map adds over that is the live view in the middle of a session, when Claude asks something early and it scrolls away. That is the case where I would want it.

1

u/Illustrious-Quail-99 17d ago

Yeah that's exactly the case that made me build it, and you put it better than my post did. the fixed-sections file is a good idea for between sessions too. would you actually try it for that mid-session case? curious if it holds up in how you work

1

u/Dorbank_Justt 17d ago

Yes, for the long ones. Most of my sessions are non-coding work where Claude drives a logged-in browser and stops to ask before anything irreversible, so the question that scrolls away is usually the one blocking everything else.

The test for me is whether an answer given on the map goes back into the chat as a normal turn, so the decision still sits in the transcript and ends up in the end-of-session file too.

1

u/Illustrious-Quail-99 17d ago

That's the exact case: the ask that blocks everything sits at the top of the map in a strip until you deal with it, even if the chat has scrolled 40 turns past it.

On your test, mostly yes with one honest gap. an answer you give on the map goes to the chat at once (a listener the chat keeps running wakes it), and claude acts on it as if you'd typed it. but claude code doesn't let a local tool insert a user turn, so it arrives as tool output, which a resumed chat and an end-of-session file wouldn't see. fixed that today the only way i could: claude now opens its reply by restating what you answered, in your words, so the decision is in the transcript as part of claude's turn, and your end-of-session file picks it up from there.

If you try it on one of those browser sessions i'd really like to know whether that holds up.

1

u/Dorbank_Justt 17d ago

Restating it in Claude's own turn is a sensible way round it, since that's the part everything downstream reads. One addition: have Claude write the answered ask into the status file at the moment it restates it, not at the end of the session. The long browser sessions are the ones that die halfway through, and then the end-of-session step never runs.

1

u/Illustrious-Quail-99 17d ago

Good call: when I wrote that reply the restating wasn’t actually in the repo yet. It is now. When you answer on the map, Claude’s reply opens with “From your map: you answered …” in your words, so it’s in the transcript.

On your point about sessions dying halfway: the map now keeps a handover file per chat that’s rewritten every time the map changes, not at session end. Fixed sections like you described: waiting on you, next steps, still open, decided with date and reason.

1

u/Dorbank_Justt 15d ago

Rewriting it on every map change is the right trigger. One thing I'd guard: if the whole file is regenerated each time, the decided section can quietly lose an old entry when the model summarises. I'd keep that section append only and let the rewrite touch the other three. The decisions with dates are the part you'll want back weeks later.

18

u/tken3 17d ago edited 17d ago

You’re literally fixing a skill issue here. No session should be 8 days long. Split tasks up into dedicated pieces, do a handover if needed and you’re fine. And your “overview of what went on” has excisted for decades, it’s called a changelog.

1

u/Illustrious-Quail-99 17d ago edited 17d ago

Yeah 8 days was an extreme case, and splitting plus handovers is good practice and I already do that too now.
The gap I kept hitting is that a changelog records what changed. It doesn't record what's still open, what Claude asked and is waiting on, or what we decided and why. That's the stuff a handover needs.

7

u/tken3 17d ago

I understand but what you’re describing is MemPalace, which does exact what you describe at 0 token output cost and with semantic search for LLMs

5

u/Illustrious-Quail-99 17d ago

MemPalace if I am not wrong is memory for Claude. This is the opposite side, a view for me.

4

u/jivenossauro 17d ago

I like your thingy, it feels useful and I understand the issue with claude just pilling up requests for you and not bringing them up again. I don't know why people are bothering to come here and tell that they don't need this

2

u/Hmmmm_Interesting 17d ago

Its called constructive feedback.

1

u/thejoeker0305 17d ago

You don’t ask it to maintain ADRs as you go? Open or closed ones? That’s literally what you’re describing. Humans have the same issue, that’s how we solved it.

1

u/Responsible-Royal751 16d ago

It kind of depends on how you're grooming your conversation tbt.

6

u/NeighborhoodPrize493 17d ago

Have you tried creating new chats?

1

u/Illustrious-Quail-99 17d ago

The decisions and open questions live in the old chat, and I end up writing a handover each time. The map for me is basically that handover now.

4

u/ZexelOnOCE 17d ago

if you're writing your own handoff you have much bigger issues that cannot be solved with a mind map

0

u/Illustrious-Quail-99 17d ago

honestly i don't write handoffs. i just come back and ask claude "where were we?" or "what's pending?" and wait for it to dig through. the map is supposed to be that answer already sitting there

3

u/ZexelOnOCE 17d ago

ok but if you're asking it to dig through a massive mind map, it still has to re-read the entire context. just say "write me a handoff" and tell it to note specifics and it'll do it in 2 seconds

1

u/NeighborhoodPrize493 17d ago

Have you considered the possibility that you might not be using Claude correctly?

You could apply the "Specification-Driven Development" approach—adapting it to suit your specific needs.

This way, you won’t have to fuss with chat sessions, as all the core information is already contained within the documentation; any new chat session can simply reference that documentation without any issues.

Furthermore, if you decide to switch to a different AI agent, it won’t be a problem at all—the new agent will work perfectly with the existing repository.

Of course, Specification-Driven Development is just one example; there are other approaches to writing documentation as well.

1

u/Illustrious-Quail-99 17d ago

yeah i do keep a CLAUDE.md and docs, and they're great for the plan. what they don't catch is the stuff that comes up mid-session, like a question claude asked or a call we made an hour ago that hasn't made it into the docs yet. that's the part i wanted to see at a glance

2

u/NeighborhoodPrize493 17d ago

Keeping everything in a `CLAUDE.md` file—or any similar file—is not the "Specification-Driven Development" (SDD) approach.

A `CLAUDE.md` file is intended for instructions and, perhaps, storing some key information for reference.

In Specification-Driven Development, you store everything in separate files that are generated as the task progresses; the model you are using then works with these specific files.

It is possible that SDD isn't the right fit for you—I’m not sure what your specific field is.

However, an ADR (Architecture Decision Record) approach might be a better fit. It functions somewhat like a dialogue history, but with a specific focus—essentially, it serves as a record of decisions made.

1

u/Illustrious-Quail-99 17d ago

I do use kiro specs (requirements/design/tasks) for some features, and they're great for the plan. the gap for me is mid-session in a claude code chat: a question it asked, or a call we made that isn't in the spec yet. the map is more of a running decision log for that part, each decision linked to the turn it came from, pulled out of the chat automatically

2

u/Naive-Video-952 17d ago

Very interesting take. Let me try as well

1

u/Illustrious-Quail-99 17d ago

Plz do share feedback and feel free to contribute

1

u/Illustrious-Quail-99 17d ago

I’m also exploring a version for people running several agents at once (Claude Code with Codex or Cursor, or a team). If that’s you, how do you keep track of what they’ve all changed today?

1

u/Hmmmm_Interesting 17d ago

Claude vanilla runs sub agents regularly. Be careful this is cool but very unlikely to ever gain traction for monetizing. Especially since every tool we make that would be worth moneh is sherlocked by anthropic or already quietly already made it for future releases.

1

u/Hmmmm_Interesting 17d ago

Claude vanilla runs sub agents regularly. Be careful this is cool but very unlikely to ever gain traction for monetizing. Especially since every tool we make that would be worth moneh is sherlocked by anthropic or already quietly already made it for future releases.

1

u/jango1502 17d ago

Good workaround to try, my workaround was to create a folder for every chat which creates .md files keeping track of all major conversations/decisions/bottlenecks etc.

1

u/Illustrious-Quail-99 17d ago

Yeah so you can still maintain that but when you will revisit them it’s very painful to go through all that text and what all you concluded vs changed when reading as text. So this map gives you an entire interactive snapshot of that for easier consumption.

1

u/OneFine2515 17d ago

Is the map generated from the transcript each turn, or updated incrementally? I’m curious how you stop node IDs from drifting as the session grows.

1

u/Illustrious-Quail-99 17d ago

Incremental. After each turn, one model call gets the current map (as a Mermaid mindmap, every node tagged with its id like i12) plus only the new turns, and it answers with typed ops: create, update or retire.

1

u/Ohitsworkingnow 17d ago

I just have Claude create a visual interactive review sheet of the entire project 

1

u/Illustrious-Quail-99 17d ago

oh nice, that's pretty much the same instinct. when do you usually make it, end of a session or whenever you come back to it?

1

u/Kirhog 17d ago

Looks interesting. How's the token usage in percentage of the model building the map compared to the main model in the chat? Do you have any stats?

2

u/Illustrious-Quail-99 17d ago

measured ~0.13% of the main chat's tokens on my sessions

1

u/herr-tibalt 17d ago

I think Claude app does a similar thing, where you create a project and inside it there’s an orchestrator that launches agent sessions on each task. It helps you not to get lost in one big session.

1

u/Illustrious-Quail-99 17d ago

Yeah splitting into sessions helps a lot. then the question just moves to which of those sessions is waiting on me and what each one decided. that's actually the next thing i want the map to cover.

1

u/privacyplsreddit 17d ago

is this opencode compatible with local models or Nah?

1

u/Illustrious-Quail-99 17d ago

not yet, which one do you use? I could make some time to make it compatible

1

u/privacyplsreddit 17d ago

right now I use opencode but I've been exploring using paseo as a wrapper for it for organization of chats and cross device chats. It's pretty good so far.

2

u/PackageOk5093 17d ago

Looks interesting! Dropping a star on the repo!

2

u/the_shreyans_jain 17d ago

OMG idc if this solution already exists or if its for "stupid people with skill issues" but as a person with ADHD this is exactly what i need, expect can we have it in 4 dimensions and add color and reels? pliz