As someone who works around networking and IT support, there’s one thing I keep noticing:
You usually find out something is down after users start complaining.
That frustration led me to build NetPulse, a lightweight, self-hosted network monitoring system that continuously checks device availability and sends instant email alerts when devices go down and when they recover.
Why I Built It
Most monitoring systems are either:
- too complex,
- too expensive,
- or overkill for smaller environments.
I wanted something:
- simple,
- lightweight,
- easy to deploy,
- and practical for real-world IT support.
What NetPulse Does
NetPulse:
- Monitors devices using ICMP (ping)
- Detects downtime and recovery events
- Sends email alerts instantly
- Tracks downtime duration
- Provides a simple web dashboard
- Prevents alert spam using cooldown logic
- Supports multi-user environments
Tech Stack
- Python
- FastAPI
- SQLite
- HTML/CSS/JavaScript
- SMTP Email Alerts
- Systemd Services
- Docker Support
Features
Real-Time Monitoring
Devices are checked continuously at configurable intervals.
Recovery Alerts
You don’t just know when devices go down, you also know when they come back online.
Smart Alerting
Cooldown and flapping suppression prevent notification spam.
Lightweight Deployment
Runs locally with minimal resource usage.
Demo
I recently recorded a demo video showing:
- adding devices,
- starting monitoring,
- outage detection,
- and live email alerts.
GitHub Repository:
https://github.com/Kmmadu/NetPulse
What I Learned Building This
This project taught me a lot about:
- backend architecture,
- asynchronous monitoring,
- service management,
- frontend integration,
- and building software around real operational problems.
It also pushed me deeper into:
- DevOps concepts,
- infrastructure tooling,
- and production deployment practices.
Shoutout
Huge appreciation to Obumneme Anigbo for handling the frontend side of the project and helping bring the interface to life.
Special thanks as well to my HOD, Mr Olufemi Folarin, for the guidance and encouragement throughout my journey.
And a big thank you to Mr Austin Uwudia, CTO of SwiftTalk Ltd, and the entire SwiftTalk team for the opportunity and exposure that continue to push me to grow as an engineer.
What’s Next
Planned improvements include:
- Availability reporting
- Historical graphs
- SNMP monitoring
- Slack/Teams notifications
- Premium analytics features
Feedback is welcome.
Top comments (0)