DEV Community

Cover image for I Built NetPulse — A Lightweight Network Monitoring Tool with Python
Kingsley Mmadubugwu
Kingsley Mmadubugwu

Posted on

I Built NetPulse — A Lightweight Network Monitoring Tool with Python

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)