Skip to content

liooooo29/HeatTrace

Repository files navigation

HeatTrace

Desktop activity tracker for keyboard & mouse

Build Platform License

Keystrokes, typing speed, mouse clicks — all tracked locally on your machine. No cloud, no account, no telemetry.


Screenshots

Morph — dynamic theme colors that shift with your typing speed

Features

  • Real-time dashboard — live keystrokes, WPM, active time, mouse clicks with auto-refresh
  • Typing ECG — heartbeat-style visualization of your coding rhythm (CPM per minute)
  • Keyboard heatmap — visual key frequency heatmap mapped to a physical keyboard layout
  • Commonly used keys — top 10 keys ranked by proportional bar chart
  • Weekly report — typing style analysis, daily/hourly trends, shareable image export
  • Top Apps — track which applications consume your time
  • System tray — daily summary in the tray, runs in background
  • Theme presets — 8 Nothing-style color presets (Nothing Red, Arctic Cyan, Phosphor Green, Signal Violet, Amber Warm, Slate Blue, Rose Gold, Graphite) with dark & light mode
  • Morph — dynamic theme colors that respond to your typing speed in real-time. 6 color palettes (Thermal, Aurora, Ember, Neon, Ocean, Sunset) that shift from calm tones at idle to intense hues at peak WPM. The accent color, ECG line, heatmap, and all UI elements flow together as your typing rhythm changes
  • i18n — English and Chinese
  • Data retention — auto-cleanup with configurable retention period
  • Custom data directory — choose where your data lives
  • 100% local — no cloud, no account, all data stays on your disk

Install

Download

Grab the latest release for your platform from Releases.

Build from source

Prerequisites: Go 1.22+, Node.js (pnpm), Wails CLI

# Install Wails CLI
go install github.com/wailsapp/wails/v2/cmd/wails@latest

# Build for your platform
wails build

# Or run in dev mode
wails dev

Linux (Ubuntu 24.04)

# Install webkit2gtk dependency
sudo apt install libwebkit2gtk-4.1-dev

# Build with webkit2_41 tag
wails build -tags webkit2_41

Tech Stack

Layer Stack
Backend Go + Wails v2
Frontend React + TypeScript + Tailwind CSS
Charts Recharts
Hooks gohook
Storage Local JSON (gzip compressed)
Design Nothing Design System

Architecture

HeatTrace/
├── main.go              # App entry, Wails bootstrap, single-instance lock
├── tray.go              # System tray with daily summary
├── app.go               # Wails-bound methods (frontend ↔ Go bridge)
├── monitor/             # Keyboard & mouse event capture (gohook)
├── storage/             # JSON store, aggregator, daily summaries
├── analytics/           # Typing speed, usage time, weekly reports
├── filter/              # Sensitive key filtering
├── config/              # App configuration
└── frontend/            # React SPA (Vite + Tailwind)

Privacy

HeatTrace runs entirely on your machine. No data is sent anywhere. You can review exactly what is stored by opening the JSON files in your data directory. Sensitive keys (password fields) are automatically filtered out.

License

MIT

About

Keystrokes, mouse distance, typing speed — all tracked locally on your machine.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors