← back to blog
developer productivity

VS Code Extension — Automatic Coding Time Tracking Without WakaTime

4 min read

WakaTime popularized heartbeat-based coding time tracking. You install an extension, it sends heartbeats when you type, and you get a dashboard of coding hours by language and project. xeve does the same thing — but your coding data lives alongside your app usage, health data, music, and everything else.

How It Works

The xeve VS Code extension monitors three events: file open, file save, and text document change. On each event, it sends a heartbeat to Supabase with the current timestamp, project name (from the workspace folder), file path, and language (from VS Code's language detection).

Heartbeats are debounced — at most one per 30 seconds of activity. If you stop typing for more than 5 minutes, the current session ends and a new one begins on the next keystroke. This prevents inflating coding time when you leave VS Code open while making lunch.

Sessions are assembled server-side from the heartbeat stream. The daily rollup function computes total coding time, per-project time, and per-language time from the raw heartbeats.

The Coding Dashboard

The Coding page shows:

  • Daily coding chart — hours of coding per day with a trend line
  • Language breakdown — a pie chart of time by language (TypeScript, Swift, Python, etc.)
  • Project breakdown — time spent in each workspace, sorted by duration
  • Session list — individual coding sessions with start time, duration, project, and primary language

Claude Code Integration

The same heartbeat pattern works for Claude Code sessions. A shell hook sends heartbeats during active Claude Code conversations, capturing the project directory and session duration. This means pair programming with an AI counts toward your coding time — because it is coding time.

On the dashboard, VS Code sessions and Claude Code sessions appear in the same charts. You can see how much of your coding day is solo editor work vs. AI-assisted development.

Why Not WakaTime?

WakaTime is good at what it does. But it is a standalone service with its own dashboard, its own account, and its own data silo. If you want to correlate coding time with sleep, steps, or music, you need to export from WakaTime and import somewhere else.

xeve's coding tracking feeds into the same data pipeline as everything else. The correlation engine automatically computes relationships between coding hours and 18 other metrics. The AI weekly digest includes coding patterns in its analysis. The Overview page shows coding alongside app usage, GitHub activity, and health metrics — all in one view.

The extension is available on the VS Code marketplace. Install it, sign in with your xeve account, and tracking starts immediately. No API keys, no config files, no setup beyond the initial auth.

Written by Kevin — builder of xeve

Track your apps, coding, music, and health — all in one place.

try xeve free