A live, end-to-end IoT platform that streams real-time environmental & water-quality readings from ESP32 field devices into secure, multi-site dashboards — replacing manual, spreadsheet-based data collection with live monitoring.

The live monitoring dashboard — real-time pH & dissolved-oxygen readings, per site.


CETEC (Central Environmental Testing & Consultancy) collected environmental and water-quality data manually across multiple field sites — slow to gather, scattered across spreadsheets, and impossible to monitor in real time.
A complete system from field hardware to cloud dashboard: ESP32 sensors push live readings into a secure API, and each site's team monitors and analyses their data in real time through role-scoped dashboards.
Live sensor cards with status badges (online / offline / no data) and min–max range, plus historical trend charts per site.
Six monitoring locations; each user scoped to their assigned site's data only.
Super Admin, Site Admin and User roles with session auth and hashed credentials.
A secured HTTPS endpoint receiving continuous readings from ESP32 field devices.
Mobile-first UI, dark / light themes and a performance-tuned landing experience.
Zero-touch auto-deploys, HTTPS everywhere, hardened and continuously monitored.

Super Admins manage every site from one place — add new locations, watch live sensor status per site, and edit or retire sites as field deployments change.
A dedicated analytics workspace aggregates readings daily or weekly and surfaces trend lines with min/max bands, a pH-vs-DO correlation view, and distribution breakdowns (ideal / alkaline / acidic, normal / high / low) — every view and every per-parameter data page exportable to Excel with date, status and location filters.



Per-parameter data pages (Dissolved Oxygen, pH) with status badges, date / location filters, and one-click export to Excel.
Beyond the app itself, I owned the entire deployment: registered the domain, provisioned and hardened a Hetzner VPS from scratch, deployed the frontend, backend and database myself, and built the GitHub Actions pipeline that handles CI/CD end to end.
The system is live in production, serving CETEC across six monitoring sites.