Skip to content
John Ryan

The data exists. Nobody assembles it.

Engineering output shouldn’t be measured by gut feeling. One dashboard assembles GitHub, ADO, and Cursor activity into a single view, with one shared tool registry for chat and MCP.

  • engineering
  • dashboard
  • mcp
  • ai-sdk
  • nextjs

Author: 2 min read

Ask an engineering team how much they shipped last quarter. You will probably get a feeling, a ticket query, or someone’s best guess.

The actual data is sitting in GitHub, Azure DevOps, and Cursor. Commits. Pull requests. Cycle times. AI usage. It exists—just not in one place.

GitHub, Azure DevOps, and Cursor metrics converging into one engineering dashboard GitHub, Azure DevOps, and Cursor data intersect at one dashboard.

The dashboard pulls engineering activity into one view: commits and PRs, lines changed, review cycle time, and optional Cursor usage. Pick a date range and see what happened across the team.

Then ask it questions:

  • Where are PRs waiting on review?
  • What shipped last sprint?
  • Are we paying for models nobody uses?

The answers come from the same data behind the dashboard, with the numbers attached.

One registry, three interfaces

The implementation is simpler than the product.

The dashboard pulls one year-to-date corpus from each source and caches it. The UI, chat, and MCP server all query that same snapshot.

The metrics live in one tool registry: get_team_summary, get_pr_stats, get_token_usage, and the rest. The chat route gives those tools to the AI SDK. The MCP route registers them with mcp-handler.

Add a metric once and it appears in both places. No duplicate definitions. No drift.

That shared registry is the part I would reuse first.

Activity is not impact

The dashboard measures activity proxies, not engineering quality.

Lines changed can mean a new feature, a deletion pass, or generated code. A high commit count can mean healthy slices or churn. None of it tells you whether customers are happier.

Use the data to answer narrow, inspectable questions:

  • Did anything merge?
  • Where is review latency growing?
  • Which tools are people actually using?

Do not use it to crown a top performer.

The goal is not a scoreboard. It is a shared set of facts—so fewer engineering conversations begin and end with vibes.

Resources

Subscribe to my notes

Stay in the loop on what I'm building and thinking about.

Notes

Search notes and jump to a post. Press ⌘K (Mac) or Ctrl+K (Windows) to open anytime.