The Problem
I was building my project and needed to monitor its uptime. I went to UptimeRobot — and hit a wall. The free plan only lets you monitor one website. I had multiple services running and didn't want to pay just to know if my own server was down.
So I did what any developer does. I built it myself.
What I Built
Site-MOnitoring (Nexus) — a fully self-hosted, open-source uptime monitoring tool that:
📡 Monitors unlimited websites — add as many URLs as you want
📊 Shows real-time analytics — response times, status codes, uptime history
🎨 Interactive dashboard — built with React + Framer Motion
😴 Anti-sleep engine — keeps itself alive on free platforms like Render/Vercel
🏠 100% self-hosted — your data, your server, zero subscription fees
Live demo: pingbot.yogender1.me
GitHub: github.com/yogender-ai/Site-MOnitoring
Tech Stack
LayerTechnologyFrontendReact 18, Vite, TailwindCSS, Framer MotionBackendNode.js, Express.jsDatabasePostgreSQLJobsCron jobs (pinger.js)HostingRender (backend), Vercel (frontend)
The Hardest Part
Getting the anti-sleep engine right was tricky. Free-tier platforms like Render spin down your server after 15 minutes of inactivity. So your monitor — which is supposed to tell you when things go down — goes down itself.
I solved this by building a self-ping system using cron jobs that keeps the backend alive by pinging its own endpoint periodically. Simple idea, but took some debugging to get right without hammering the server.
Architecture
Nexus-Core/
├── backend/
│ ├── db.js # Database connection
│ ├── pinger.js # Background site poller + self-ping
│ └── server.js # Express API
└── frontend/
└── src/
├── api.js # Axios API calls
├── App.jsx # Main React app
└── index.css # TailwindCSS
What's Next
One valid criticism I've already received: single-server monitoring can give false positives. If your server goes down, it might report Google as down too. The fix is multi-region monitoring — checking from multiple servers in different locations.
That's on the roadmap. For now, Nexus is perfect for:
Monitoring your own projects and APIs
Self-hosted infrastructure
Anyone who wants full control without paying monthly
It's Open Source — Come Contribute!
I built this in 1 week and there's a lot more to add. I've opened up 4 beginner-friendly issues if you want to contribute:
🌙 Dark/light mode toggle
📧 Email alerts when sites go down
📄 CSV export for uptime logs
📝 CONTRIBUTING.md improvements
First time contributing to open source? This is a great project to start with. The codebase is small, clean, and well-documented.
⭐ If you find it useful, a star on GitHub helps a lot!
GitHub: github.com/yogender-ai/Site-MOnitoring
Built with React, Node.js, PostgreSQL, and a healthy frustration with paywalls.
Top comments (0)