IoT
Connect Clean
Built an IoT Monitoring Platform from Scratch
- Role
- Full-stack developer
- Timeline
- Ongoing
- Team
- Small team
- 24/7
- continuous device ingestion
- Multi-site
- estate-wide monitoring
The problem
Businesses consume water and chemicals continuously across dozens of sites, but almost none of it is measured. Connect Clean needed smart dispensers that measure every use, a backend to ingest readings continuously and securely, and a dashboard where a manager anywhere could see every location and device at once.
My approach
Device connectivity & ingestion
A secure backend interface field-deployed dispensers report into continuously rather than on a polling schedule, handling devices dropping off and reconnecting so the record stays consistent.
Backend & data model
Node.js API and processing layer modeling organizations, sites, devices, cartridges, and time-series usage readings that roll up from device to site to estate.
Alerting
Real-time alerting on low supply, equipment faults, and anomalous consumption, with thresholds tuned to stay actionable rather than routine noise.
Reporting & analytics
Per-site and per-period consumption views, cross-location comparisons, and trends businesses use to identify waste and evidence sustainability targets.
Dashboard frontend
Next.js monitoring interface for facility managers — a single view across all locations, live status, alert handling, and report generation.
System shape
Frontend
Next.js, React, TypeScript
Backend
Node.js
Data
PostgreSQL
Infra
AWS
Stack
Frontend
- Next.js
- React
- TypeScript
Backend
- Node.js
Data
- PostgreSQL
Infra
- AWS
Result
A live production IoT platform connecting physical dispensers to a cloud dashboard — continuous telemetry, real-time alerting, and usage analytics — running 24/7 against hardware deployed across multiple locations.