About Miner Watch

The "Why"

The Problem

My friend started a small army of NerdMiners. We first joined a large pool with a beautiful dashboard, but because these little guys have low hashrates, we were eventually kicked out for not meeting minimum requirements.

The Solution

We pivoted to the NerdMiners Pool and CKPool. While reliable, their dashboards were separate and lacked a unified view. I built Miner Watch to pull data from both APIs into one high-performance home.

The Engineering Journey

This wasn't just about building a dashboard, it was about creating a resilient system from scratch and learning the full-stack lifecycle.

  • UI & API LogicBuilt the Next.js frontend and integrated live CKPool/NerdMiner API fetching.
  • Redis IntegrationImplemented a Redis layer to track hashrate history for up to 7 days.
  • K8s Cron JobsAutomated data collection and DB pruning using scheduled Kubernetes tasks.
  • Docker/VPS DeployContainerized the stack and deployed to a cluster for high availability.

Automation Engine

I set up a Kubernetes Cron Job that runs hourly to ping the pool APIs, calculates the stats, and inserts them into Redis while automatically pruning data older than seven days to keep the system lean.

Infrastructure

Everything is containerized with Docker. Images are pushed to the GitHub Container Registry and deployed via K8s to a VPS, ensuring a stable, scalable environment.

Tech Stack

LayerTechnology
FrontendNext.js (App Router), Tailwind CSS
DatabaseRedis
VisualsChart.js
DevOpsDocker, Kubernetes, GitHub Registry

Future Roadmap

  • Clickable worker drill-downs
  • Dynamic BTC address input
  • 30-day extended history graph
  • Real-time WebSocket updates
  • Refined graph aesthetics

Final Thoughts

Building Miner Watch was a rewarding challenge that pushed me to bridge the gap between low-level mining data and high-level infrastructure. I'm excited to continue improving the site and sharing the journey along the way!

If you've found this dashboard useful, feel free to support the project. I'm always open to feedback or suggestions for new features, reach out on GitHub!

Support the Project

Every bit helps keep the Redis & VPS running.

BTC Address
bc1qhznwg42km94zxlym66244wsg2w637jec4nm4u2