lauren@terminal:~/blog$

$ cat i-want-metrics-said-the-gm.md

"I want metrics," said the GM

Sitting in a meeting this week, our GM asked how we could track metrics for a product launch we're supporting with free LLM keys and tokens for an open-source community. "You can see it all on the backend," I said. He's technical, so he knew that was true. "Yes, except it doesn't aggregate what I want."

He suggested Grafana since we use it for other infrastructure metrics. In theory, sure. Except our recent refactor probably broke the Prometheus connection Grafana needs. And building Grafana dashboards is a lot of work and not fun.

He suggested the engineer could spend time on it. I did the mental math on what that engineer was already handling. All of it was higher priority. So I dug deeper. What did he actually need? Numbers showing we're supporting this initiative and that people are using it. Something he could share with marketing. Fair enough. I asked him to list exactly what numbers he wanted. We looked at what the API had available. He picked what mattered.

While he was giving me the numbers I was already opening OpenCode and getting ready to instruct it to build a dashboard.

What I built

In less than an hour, I had a lightweight metrics dashboard:

  • Python script fetches data from LiteLLM's admin API
  • GitHub Action runs automatically every Sunday at midnight
  • Static React dashboard displays the data (no backend needed)
  • Clone the repo, run npm run dev, done

No perfect infrastructure. No weeks of planning. Just: does this solve the problem?

The technical choices that mattered

GitHub Actions for automation meant the API key stays in GitHub Secrets. Never exposed. The script runs server-side, processes the data, commits JSON files.

Static React dashboard means no backend to maintain. Magic Patterns gave me a nice UI scaffold. Vite dev server handles local development. The whole thing can be cloned and run anywhere.

Security without complexity. Automation without infrastructure. Sharing without authentication headaches.

This is a lesson about using AI to just ship. Weekly snapshots beat no data. GitHub Actions can replace a lot of custom infrastructure. Static sites can do more than you think. File-based storage works fine for small datasets.

Python script. GitHub Actions. Done.

We could have spent two weeks getting Prometheus re-connected, configuring Grafana, coordinating engineering time.

Instead this was one hour, one Python script, numbers the GM can share with marketing tomorrow.

The engineer stayed focused on higher-priority work. GM got his metrics. I got to ship something that solves the actual problem.

$ _

© 2026 Lauren Out Loud. All rights reserved.

System: Retro Terminal v2.1.0

Uptime: No script, still running | Coffee: ∞

// Type "help()" in the console for a surprise | Press Ctrl+Alt+Del to restart