Time Tracker

unlisted

by Silso

Track work sessions per project directly in your notes.

View on GitHub

Time Tracker

Track work sessions per note with start/stop timing and automatic parent rollup.

[!WARNING] This plugin is provided as-is for personal use. The repository is public for anyone who wants to fork and adapt it. Please do not open issues for support or feature requests.

Features

ā±ļø Per-note time tracking — Start/stop sessions directly in any note

šŸ“Š Session history — View all recorded sessions with timestamps and durations

šŸ”— Hierarchical rollup — Child notes automatically sum into parent's timelogged property

āœļø Inline storage — Data lives in a code block within your note (no external database)

šŸ”„ Live sync — Manual edits to the block automatically update frontmatter

How It Works

flowchart TD
    A[Note with time-tracker block] -->|Start/Stop| B[Sessions stored in block]
    B --> C[Total → timelogged property]
    C -->|If parent property exists| D[Parent note]
    D --> E[Parent sums children's timelogged]

Usage

Add a code block to any note:

```time-tracker

```

The plugin renders interactive Start/Stop controls. Sessions are stored as JSON inside the block:

{
  "entries": [
    { "start": "2024-01-15T09:00:00Z", "end": "2024-01-15T10:30:00Z" },
    { "start": "2024-01-15T14:00:00Z", "end": "2024-01-15T15:45:00Z" }
  ],
  "activeStart": null
}

Hierarchical Time Rollup

If a note has a parent property linking to another note, the parent's timelogged automatically includes all children:

Project A (timelogged: 5h 30m)
ā”œā”€ā”€ Task 1 (timelogged: 2h 15m)
└── Task 2 (timelogged: 3h 15m)

The parent property can use wiki-link syntax:

parent: "[[Project A]]"

Frontmatter

The plugin writes a timelogged property to each note:

PropertyDescription
timeloggedTotal time (self + children), e.g. 2h 15m or 45 min

Installation

Manual

  1. Download main.js and manifest.json from the Releases page
  2. Create .obsidian/plugins/time-tracker/ in your vault
  3. Place the files in that folder
  4. Enable the plugin in Settings → Community plugins

BRAT

  1. Install Obsidian42 - BRAT
  2. Run BRAT: Add a beta plugin for testing
  3. Enter this repository URL

Images

SCR-20260225-digy SCR-20260225-diju

License

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.