Lifestack
A personal metrics exporter that turns GitHub, WakaTime, and Spotify activity into Prometheus data for hosted dashboards.
A closer look at the systems, decisions, and details behind Lifestack.
This project is best understood through its architecture and implementation rather than a visual gallery.
The challenge
Personal activity is spread across several APIs, each with different credentials, response shapes, and rate limits. The service needed to collect those signals without making dashboard scrapes depend on third-party availability.
The approach
A Node.js and Express exporter polls external services on background intervals, stores the latest values in Prometheus gauges, exposes a bearer-protected /metrics endpoint, and optionally pushes time series to Grafana Cloud.
What I learned
Separating collection from scraping keeps dashboards responsive and makes failures observable without discarding the last successful measurement.
Role
Backend engineer
Outcome
A lightweight, cloud-friendly observability service with protected metrics, scheduled collection, and Grafana Cloud remote write support.