← All apps

SugarTick

⏰ SugarTick

Privacy-first coding-time tracker

port of TakaTime time-tracking wakatime jsonl dashboard

Tracks edit-time per project / language to a local JSONL file (no cloud, no MongoDB) and renders a SugarCharts-driven dashboard. Editor plug-ins push heartbeats via the tick push CLI subcommand; the dashboard reads them.

Install

composer require candycore/sugar-tick

Quickstart

// Editor plug-in / cron / git hook pushes a heartbeat:
sugar-tick push sugarcraft php src/App.php 60

// Open the dashboard:
sugar-tick

// Override the data dir:
SUGARTICK_DIR=/var/data/tick sugar-tick

What's in the box

Heartbeat schema{time, project, language, file, duration} — JSONL, one beat per line.
Per-day filesStorage is one YYYY-MM-DD.jsonl per day — append-only, easy to ship to cold storage.
Top projects + languagesTwo ranking panes side-by-side, sorted by total time descending.
Daily timelineSugarCharts Sparkline driven by per-day minute buckets.
Window navigation / shift the 7-day window; r reloads.
Pure foldingStats::compute is total-input deterministic — every dashboard test runs against fixed beats.

Source & demos

Try the quickstart →

Demos.

VHS-recorded GIFs of every example shipped with the app. Regenerated automatically on every push that touches the source.

Dashboard

Dashboard

Seven-day window with project + language ranking and timeline sparkline.