Visit History: a heatmap of your vault

Disclaimer

Is this project open source? source available
Is this project completely free? Yes
Is this project vibe-coded beyond the author’s ability to comprehend how it works? No
Community Directory: [ObsidianCommunity/Visit History]
Visit History - Obsidian Plugin


Visit History records how long you spend focused on each note, canvas, and Excalidraw drawing, then renders your whole vault as a zoomable treemap: every file is a rectangle nested inside its folders, sized by file size and coloured by date metadata.

Modified time only tells you what you’ve edited, and even that has no good way to see it across many files at once. Reading isn’t editing, and a lot of vault work is reading. Visit time shows where attention actually went, and just as usefully, where it hasn’t: whole folders that have gone cold and are due for a revisit or an archive.

  • Colour by visited, modified, or created. Modified and created work the instant you install it, so there’s something to look at right away; visit data accumulates as you use the vault.
  • Drill down by clicking folders, filter by path or content, tune the gradient and hot/cold thresholds. Settings save automatically.
  • History survives renames. Each note gets a permanent id in its frontmatter; history is filed under that, not the path.
  • History includes duration. History includes the duration of visit to power future extensions.
  • Fully local. No network, no accounts, no telemetry. Everything lives in __visit_history/ as plain text, one line per session: 2026-07-09T22:02:15.745Z D:5600. Split per user and per device, so shared vaults and synced machines never conflict.

Install: Settings → Community plugins → Browse → “Visit History”.

Git users: git doesn’t preserve modified times, so after a clone your whole vault looks freshly modified. git-restore-mtime fixes it.

License: KSAL-3.0, source available. Free to use anywhere.

Feedback welcome.

Disclaimer goes at the top and includes a link to the public plugin page. I fixed your link and moved the disclaimer.

1 Like

@rigmarole Thanks!

1 Like