IoT · Full Stack
VILERT Smart Monitoring
IoT temperature and humidity monitoring platform
React dashboard and Express API for IoT sensors: live MQTT readings, device management, threshold alerting, and offline detection.
Client confidentiality applies. Source code and a live demo can be shared privately on request.

Overview
VILERT was a team project to build a monitoring platform for temperature and humidity sensors. The dashboard provides a device list with map locations, live sensor widgets over MQTT, and a device detail view with a history chart. A companion Express service ingests readings from the MQTT broker, stores them in PostgreSQL, flags devices that stop reporting, and sends threshold alerts over WhatsApp, email, and Telegram.
Problem & solution
The problem
Facilities teams needed a single view of temperature and humidity conditions across devices, instead of checking individual sensors or waiting for threshold alerts.
What was built
A React single-page dashboard that subscribes to MQTT topics through a service layer and renders live values alongside a map, backed by an Express service that consumes the broker feed, persists readings, tracks device liveness, and dispatches alerts through three channels.
Key features
- Device list with location on a map
- Live temperature and humidity widgets over MQTT/WebSocket
- Device detail modal with a sensor history chart
- Device management with per-device temperature and humidity thresholds
- MQTT ingestion into PostgreSQL with paginated, filterable history
- Offline detection when a device stops publishing for a minute
- Threshold alerts over WhatsApp (Twilio), Gmail, and Telegram with a cooldown window
- JWT-protected API with admin-gated user management
- Specified but not implemented: three-role permission model and CSV export
Technical implementation
A separate dashboard SPA and API service share one MQTT broker and PostgreSQL database. The API owns ingestion, device state, history queries, and alert delivery.
Dashboard
React + TypeScript SPA with Redux state, Leaflet map, and Chart.js history views
API
Express 5 REST service with JWT auth, device/user CRUD, and filtered history endpoints
Data
PostgreSQL storing devices, readings, and status transitions
Ingestion
MQTT subscriber on vilert/+/data with per-device offline detection
Alerting
Threshold evaluation dispatched to WhatsApp, Gmail, and Telegram with a debounce window
My contribution
- Implemented the device detail modal with a live temperature and humidity chart.
- Built the MQTT ingestion service: readings persisted to PostgreSQL, per-device offline detection, and threshold evaluation.
- Added alert delivery over WhatsApp, Gmail, and Telegram with a cooldown window.
- Fixed timestamp handling between device payloads and database storage.
Visual showcase



Related projects
View all
Full Stack · Enterprise
Job Talentio
PT EGI Resources — IT project
Multilingual hiring platform connecting candidates, recruiters, and moderators — with CV import, weighted matching, and a recruiter pipeline.

Full Stack · Enterprise · Hotel Operations
Hadith Hotel Management System
PT EGI Resources — Hadith Hotel Samarkand
Full-stack hotel management system spanning reservations, front office, housekeeping, POS, purchasing, inventory, assets, invoicing, and night audit.

Full Stack · E-commerce
7Oz Espresso
PT EGI Resources — F&B division
Digital platform for a cafe brand: public website, staff admin dashboard, reservations, membership, loyalty, and a Go API.