FocusLedger is a lightweight macOS menu bar app for tracking how you spend time across custom work modes.
- Research 🔬
- Study 🧠
- Coding 💻
- FOMO 📱
- Rest 🛌 (default on first launch)
You can switch category with one click from the menu bar.
Example:
🔬 00:12 | Σ 01:34 | ΣΣ 12:48
- First (
🔬 00:12): current session time for the active category - Second (
Σ 01:34): today's total time for the active category - Third (
ΣΣ 12:48): all-time active tracked time
- Runs in the macOS menu bar (top-right)
- Always tracks one active category
- One-click category switching
- Built-in summaries:
- Today
- This Week
- This Month
- CSV export for today
- Optional auto-start on login
git clone https://github.com/Threedv/focusledger.git
cd focusledger./run.shrun.sh will:
- create
.venv - install dependencies
- launch the app
Requirements: macOS + Python 3
./install_launchagent.shThis installs a LaunchAgent:
~/Library/LaunchAgents/com.bob.focusledger.plist
To restart it manually:
launchctl kickstart -k gui/$(id -u)/com.bob.focusledgerFocusLedger stores state/logs here:
~/.focusledger/state.json~/.focusledger/events.jsonl
CSV exports:
~/.focusledger/today-YYYY-MM-DD.csv
- Click the menu bar item to change category instantly.
Reset Day Sessionresets only the day-session reference timer.- Historical logs are preserved unless you delete files in
~/.focusledger/.
- Python
- rumps for macOS menu bar integration