Xuhao Yin182 downloadsLocal-first attention analytics: automatically track time spent and writing on each note, then visualize how your attention flows across topics and hours.
See where your attention actually goes.
A silent, local-first time & attention tracker for Obsidian — a beautiful topic × time dashboard that reveals your focus, your writing output, and your habits.
MindTrace is a zero-friction time tracker and attention analytics plugin. It runs in the background and quietly records how long you spend on each note — reading and writing — then rolls everything up by folder and plots it as a topic × time heatmap. One glance, and you can see "mornings are for philosophy, afternoons for code."
![]()
| Topic × Time — where your attention goes by hour | Topic Ranking — with click-to-drill-down |
| Active Hours — when you're actually working | Activity Calendar — GitHub-style daily streak |
| Document Activity — notes written vs. touched (day/week/month/quarter/year) | This Week vs Last — are you on an upswing? |
| Weekday Distribution — your weekly rhythm | Word Trend — writing output over time |
| Read vs Write — composition of your time | Word Growth — per-document writing trajectory |
Every chart exports to PNG / JSON / CSV with one click. The whole dashboard is theme-aware and follows your Obsidian accent color.
Data is written as append-only JSONL to .mindtrace/ in your vault. No network, no telemetry, no cloud, no note content — only metadata (paths, timestamps, durations, character deltas). Your notes never leave your computer.
From the Obsidian Community Plugins directory, search MindTrace and install. Or manually:
main.js, manifest.json, styles.css from the latest release.<vault>/.obsidian/plugins/obstracker/.```mindtrace code block.Data is stored in .mindtrace/events-YYYY-MM-DD.jsonl (one file per day).
npm install
npm run dev # watch & build
npm run build # type-check + production build
npm test # unit tests