Developers using multiple AI coding tools had no single view of how they were actually using them. The data existed on every developer's machine in JSON and SQLite files, but there was no way to see it across tools.
Local-first, privacy-focused analytics dashboard that tracks your usage across Claude Code, Codex, Cursor, Copilot, Kiro, Gemini CLI, and Antigravity. No cloud, no telemetry, no data leaves localhost.
Developers using multiple AI coding tools had no single view of how they were actually using them. The data existed on every developer's machine in JSON and SQLite files, but there was no way to see it across tools.
Built AI Dev Lens: an npx-first analytics dashboard that reads directly from the local data directories each AI tool writes to. One command spins up a Next.js server at localhost:3000 with a full analytics suite — activity heatmap, token economy, cost breakdown, session replay, MCP tracking, and subscription status.
No install needed. First run asks your name, installs deps once (~30s), opens localhost:3000.
7 tool-specific adapters read from each tool's local data directory — JSONL, SQLite, and JSON.
All adapters normalise to a common session/project/cost schema powering every page.
Dashboard auto-refreshes every 5–10 seconds. No background process, no file watchers.
Local-first is a genuine architecture constraint — reading from SQLite, JSONL, and JSON simultaneously across 7 tools required a unified adapter layer with a common schema.
SWR polling every 5–10 seconds without file watchers was a deliberate tradeoff: avoids background process complexity while still feeling live.
npx as the primary entry point is underrated — zero install friction means the tool actually gets used.
Building a 'Large Context Warning' feature surfaced a real pattern: context bloat is the #1 hidden cost driver in production Claude Code usage.
Full-stack framework — API routes + React frontend, runs locally via npx
Dashboard UI with strict types across all 7 tool adapters
Component system — consistent UI across 10+ pages
All charts — heatmaps, stacked bars, area charts, doughnuts
Read-only access to Codex and Cursor SQLite databases
Client-side polling — data refreshes every 5–10s without file watchers