Tim Cole55 downloadsUrge timer, daily check-in reminder, and streak tracking for sobriety recovery.
An Obsidian plugin for sobriety recovery tracking — urge timer, daily check-in reminder, streak dashboard, victory celebration. All data in plain Markdown.
Sobriety Tracker turns your Obsidian vault into a personal recovery companion. Instead of relying on willpower alone, it gives you structured tools — an urge timer countdown, a daily check-in system with missed-reminder catch-up, and a dashboard that visualizes your progress.
Everything is stored in a plain Markdown note. No cloud, no accounts, no data leaves your vault.
Search Sobriety Tracker in Community Plugins.
main.js, manifest.json, styles.css from the latest release..obsidian/plugins/sobriety-tracker/.| Command | Description |
|---|---|
| Start urge timer | Begin countdown |
| Cancel urge timer (relapse) | Cancel active timer = logged as relapse |
| Daily check-in: Successful day | Mark today as success |
| Daily check-in: Relapse | Mark today as relapse |
| Open dashboard | View stats and trends |
| Show current streak | Display streak in notification |
| Setting | Description |
|---|---|
| Tracker file path | Path to the data note (default: sobriety-tracker.md) |
| Urge timer duration | Countdown length (5–120 min) |
| Enable daily reminder | Toggle check-in notification |
| Reminder time | When to fire the reminder |
| Missed reminder tolerance | Catch-up window after missed reminder (minutes) |
| Language | English / 中文 / 日本語 |
All data lives in a single Markdown note:
## Daily Check-ins
- 2026-07-03 ✓
- 2026-07-02 ✗
## Urge Log
- 2026-07-03 14:30 ✓ Urge resisted, stayed strong for 30 min
- 2026-07-02 22:15 ✗ Relapsed after 12 min
You can edit, backup, or process this file however you like.
The plugin has four core modules:
| Module | Responsibility |
|---|---|
urge-timer.ts |
Countdown timer with status bar display |
tracker.ts |
File I/O — reading/writing check-in and urge log data |
stats.ts |
Streak calculation and statistics aggregation |
dashboard-view.ts |
ItemView showing the dashboard UI |
I originally built this system in Emacs (see LLM Wiki). But Emacs isn't always open. Obsidian is. Porting it meant reminders actually fire when I need them — and the Obsidian plugin ecosystem gave me experience with TypeScript, user-facing products, and community distribution.
MIT