A home network monitoring dashboard. Configure your real network profile and the devices on it, then watch live telemetry, spot bandwidth hogs and block devices you don't recognise, all from one screen.
- Network profile: SSID, frequency band, channel, security mode, gateway, DNS, subnet, public IP and ISP
- Device inventory with types (laptop, mobile, TV, IoT, desktop, tablet, console, printer, camera)
- Live telemetry layer over your device list: signal strength, bandwidth usage and connection status
- One-click block and unblock, with a blocked-device list
- Network rescan on demand
- Configurable settings for capacity and alert thresholds
| Layer | Tech |
|---|---|
| Backend | FastAPI, Motor (async MongoDB), Pydantic v2 |
| Frontend | React, Tailwind CSS, shadcn/ui (Radix primitives) |
| Database | MongoDB |
cd backend
pip install -r requirements.txtCreate backend/.env:
MONGO_URL=mongodb://localhost:27017
DB_NAME=netmonster
Run it:
uvicorn server:app --reload --port 8001cd frontend
yarn install
yarn startThe frontend expects the API at the URL set in frontend/.env (REACT_APP_BACKEND_URL).
All routes are prefixed with /api.
| Route | Purpose |
|---|---|
GET/POST /profile |
Read or save the network profile |
GET/POST/PUT/DELETE /devices |
Manage the device inventory |
GET /network |
Live network snapshot |
POST /network/rescan |
Trigger a rescan |
POST /devices/block, DELETE /devices/unblock/{id} |
Block controls |
GET/PUT /settings |
Dashboard settings |
Working prototype. The telemetry layer is currently simulated on top of the device list you configure; swapping it for a real scanner (ARP or SNMP based) is the next step.