afk.exe
A coding-analytics platform built end to end: editor extensions, a FastAPI backend, and a React dashboard that shows where the time actually went.
- Surfaces
- 3
- extension · API · dashboard
- Editors
- VS Code · Cursor
- Auth
- GitHub OAuth
- Stack
- FastAPI + React
My role
Sole author — backend, frontend and extension
Domains
Full stack/Developer tools/Analytics
Context
Every developer has a rough theory about where their day goes. Mine was wrong often enough that I wanted the actual numbers — which project, which language, how much of it was real editing rather than a window left open.
The problem
The activity data exists, but it is trapped inside each editor and stops at the machine boundary. Nothing tells you that the four hours in VS Code on the laptop and the two in Cursor on the desktop were the same project, and nothing survives switching machines.
What I built
Three pieces, all mine. Extensions for VS Code and Cursor collect session data in the background. A backend server pulls the latest sessions rather than trusting clients to push, so a crashed editor or a machine that went offline is a gap to fill in rather than data lost. GitHub OAuth ties every session to an account with per-account isolation, which is what makes multi-device aggregation work at all. On top of that, a React dashboard renders daily, weekly and monthly views.
Outcome
One dashboard covering both editors and every machine I work on, with real session telemetry rather than guesswork. Shipped as v0.0.1 with the backend, frontend and extension in one repository.
How it works
Detail- Pull-based collection
- The server asks for the latest sessions instead of accepting pushes. That makes the client dumb and replaceable, and it means an editor that crashed mid-session does not silently lose the window — the next pull reconciles it.
- Account isolation from the first commit
- GitHub OAuth with per-account data isolation, so aggregating across devices is a property of the data model rather than something bolted on afterwards.
- Editor extension as a first-class client
- The VS Code extension streams live session telemetry rather than writing a log for something else to scrape, which keeps the dashboard honest about what is happening right now.
Built with
Python/FastAPI/TypeScript/React/VS Code API