[ CASE STUDY / 03 ] · SMART IOT IRRIGATION APPLICATION
Irrilot
Remote monitoring, valve control and automated irrigation schedules. One cross-platform app.
- Role
- Software Developer
- Company
- PPV Technology
- Period
- Dec 2024 – Present
- Stack
- Ionic React · TypeScript · Capacitor · MQTT
This is company work, so the source code and screens stay private. This page explains the engineering instead.
[ 01 ] · THE PROBLEM
Irrigation commands travel to equipment in a field, where a connection can drop at any moment. The app had to stay trustworthy when the link does not: no valve left open because an acknowledgment never arrived.
[ 02 ] · HOW IT FITS TOGETHER
Architecture
Field nodes exchange commands, status and acknowledgments with the Irrilot app over MQTT on WebSocket. Firebase keeps device status in sync and sends pump-trip alerts.
[ 03 ] · WHAT I DECIDED
Key decisions
01
One codebase for Android and iOS
Ionic React, TypeScript and Capacitor ship the same app to both platforms, with reusable components and hooks designed in Figma first.
02
MQTT over WebSocket for live control
Monitoring and valve control run over MQTT on WebSocket, so a command and its status travel on one live channel across 100+ active field nodes.
03
Handshakes and a watchdog, so failures end safely
Irrigation Programs and Groups use handshake acknowledgments and a 120-second watchdog timer. If the field handshake is lost, the program ends safely instead of running on blind.
04
Tell people when something trips
Pump-trip alerts reach the team through Firebase Cloud Messaging, and Firebase Realtime Database keeps device status in sync between web and mobile.
05
Show the field, not only the numbers
Chart.js telemetry and Google Maps node mapping, with WhatsApp OTP and device-binding session security.
06
Ship it the same way every time
GitHub Actions and multi-stage Docker builds run linting, tests and production deployments automatically.
[ 04 ] · WHAT CAME OUT OF IT
Results
- 100+Active field nodes monitored, with sub-second response.
- 120sFail-safe watchdog. Programs end safely when the handshake is lost.
- 1→2One codebase, Android and iOS.
- Pump-trip alerts delivered as push notifications.
ALL CASE STUDIES