Inno2: Cloud-Based Wastewater Monitoring System
Azure-hosted pipeline for 360-site NEA COVID-19 wastewater surveillance. 100+ Tastek industrial RTUs (embedded SIM) streaming directly over cellular to a single Azure VM running Mosquitto, the database, and the dashboard. Twilio WhatsApp alerts to the on-call engineers. Contributed to the Lee Hsien Loong IDM Smart Nation Award 2022. Straits Times feature.
Context
In 2020 the National Environment Agency rolled out wastewater surveillance as a community-level COVID-19 early warning system. Inno2 (the W2 Industrial Services Hub initiative I worked on) built the cloud and edge stack that powered the deployment.
The brief expanded fast. We started at roughly 200 sites and scaled to over 360 across migrant worker dormitories, residential blocks, and treatment facilities, with engineers visiting site cabinets daily to verify uptime.
My role
Cloud and IoT engineer on a small team, first as an SP-attached intern then on as a W2 IoT Solutions consultant. I owned the Azure-side architecture and the integration between field RTUs, the broker, and the operations dashboard. I also wrote the alerting logic that pushed offline-device notifications out over Twilio WhatsApp.
Architecture
- 100+ Tastek industrial RTUs in the field. Each unit had a SIM card slot, so the RTU dialed straight out to the cloud over cellular. No edge gateway in between.
- One Azure VM running everything: the Mosquitto MQTT broker, the database, and the web dashboard. Plain monolith, no microservices.
- Vertical scaling via an Auto-Scaling Group. When load grew, the VM scaled up rather than out. Basic, but reliable for the workload.
- Twilio WhatsApp Business API for alerts. Engineers registered their numbers once, then offline-RTU and threshold-breach notifications landed on WhatsApp.
Outcomes
- Contributed to the Lee Hsien Loong IDM Smart Nation Award 2022 received by W2.
- Featured by The Straits Times when NEA announced the doubling of surveillance sites.
- Stayed in regular production use across 360 sites, with the alerting flow catching dropouts before site visits.
What I learned
Field IoT at this scale is mostly about the failure modes you do not see in a demo. Devices reboot in the rain. SIMs roam onto the wrong tower. Reconnect storms surprise you at 3am. The system has to assume every link is lossy and every device is going to lie to you eventually.
The alerting layer is the product. A dashboard nobody opens is worse than a WhatsApp message that wakes an engineer up at the right moment.
Single-VM monoliths get a lot of grief, but for this scale it was the right call. Fewer moving parts, fewer pages.