$ 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.
$ _