Depthinker97 downloadsPomodoro and stopwatch timing with a calendar focus log stored as notes in your vault.
A Pomodoro and stopwatch timer for Obsidian with a calendar-style focus log that lives inside your vault — so disabling or uninstalling the plugin never erases your history, and your data syncs across devices with whatever sync method you already use.
Works on desktop and mobile (Android / iOS).
Download main.js, manifest.json, and styles.css from the latest GitHub release and place
them in <your vault>/.obsidian/plugins/depthinker-timer/. Then enable the plugin.
npm install
npm run build # outputs dist/main.js, manifest.json, styles.css
npm run deploy # copies the build into a local vault for testing
| Setting | What it does |
|---|---|
| Focus length | Minutes per Pomodoro. |
| Short break / Long break | Rest minutes after a Pomodoro / after a full cycle. |
| Long break after | Number of Pomodoros before a long break. |
| Auto cycle | Start the next phase automatically when one ends. |
| Default mode | Timer shown when the panel opens (Pomodoro or Stopwatch). |
| Minimum session length | Shorter runs are discarded instead of stored (0 = keep everything). |
| Daily goal | Minutes; drives the calendar colour scale and the daily hint. |
| Sound / Vibrate / Notice on finish | End-of-phase cues. |
| Data folder | Vault folder for the daily log notes. |
| Week starts on | Sunday or Monday. |
Every day's focus log is written as a plain Markdown note:
<Data folder>/<Year>/<YYYY-MM-DD>.md
Example: FocusLog/2026/2026-08-17.md. The note holds a frontmatter block plus a json code
block listing that day's sessions. Because these are ordinary vault notes:
To keep these notes out of global search and the graph, add -path:FocusLog (or your chosen
folder name) to a search filter or to a folder exclusion.
To erase your history entirely, delete the data folder.
updatedAt wins). Different
sessions written on different devices merge cleanly. Use Obsidian's version history to recover
an overwritten edit.npm install
npm run dev # watch build that writes straight into a vault plugin folder
npm run check # type-check only
npm run build # production bundle to dist/
The plugin targets Obsidian 1.7.2+ and sets isDesktopOnly: false.