Drip Irrigation Platform for an Omani Date and Greenhouse Grower
Designed and built a clickable irrigation console for a Muscat grower with two date palm farms on groundwater wells and a greenhouse farm on desalinated water: live soil moisture per zone, ET-based recommendations a person approves, and valve and pump control behind interlocks that hold even when the network is down.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Dashboard, zones table, zone detail, recommendations and live control. Each of the 19 irrigation zones opens its own detail page with Now, Schedule, Water, Alerts and Activity tabs, plus Fertigation for greenhouses.
Leak cut-out, 240-minute palm valve limit, 20-minute greenhouse pulse, no pump without an open valve, 30-second dry-run cut-out, 0.8 bar low-pressure cut-out and no injection under 3.0 m³/h. They show a lock icon and cannot be bypassed; the 3 soft rules can, by a farm manager with a reason.
Each command to the field shows sent, delivered, confirmed, rejected or expired, so a delayed "open valve" never runs late. The demo feed includes a schedule publish that expired and a valve test rejected by the low-tank interlock.
3 farms, 4 wells, an RO plant and piped supply, 7 gateways (one offline, its controller on its stored schedule), 12 recommendations, 11 alerts, 9 runs and 8 field commands.
Wadi Sidr's irrigation ran on standalone timers set by hand at each valve box and on the experience of two senior supervisors. Palms on sandy blocks were over-watered in winter and stressed in the June heat, a burst lateral could run all night before anyone saw it, nobody knew how much each well had pumped without walking round the meters, and when a well permit came up for renewal a year of abstraction records had to be rebuilt from photos on staff phones.
Saqiya puts all three farms in one console: soil moisture, EC, flow and pressure per zone against its target band, nightly ET-based recommendations that a person accepts, edits or rejects, and live control of valves and pumps where every command expires, every interlock is visible and every action is logged with who sent it and what the device confirmed.
Wadi Sidr grows date palms on well water in Al Batinah and tomato, cucumber and capsicum on reverse osmosis and piped desalinated water near Al Amerat. Each crop, soil and water source needs different rules, and the equipment in the field has to stay safe when the cloud cannot reach it.
Crop demand follows the FAO-56 method: reference evapotranspiration from the farm weather station, times a crop coefficient per crop and growth stage, adjusted for drip efficiency and soil moisture. Fixed timers cannot follow a hot wind forecast or a young palm block with a lower coefficient.
A run must never start a pump without an open valve, run a pump dry, keep going on low pressure or inject fertiliser without flow. Those limits have to hold in the controller itself, even if the network or the cloud is down.
Gateways drop offline. Controllers keep their last schedule and run it for up to 7 days (client policy), and a command that arrives late must not open a valve hours after it was sent.
Wells in Oman generally need a permit from the Ministry of Agriculture, Fisheries and Water Resources, and permits can set metering and abstraction limits. No limit can be assumed: each well's allowance is entered from its permit, and abstraction has to be tracked against it with records the grower can show.
Mapped 8 user roles from field technician to operations director, 41 screens across the web console, grower app and offline technician view, and the data model for farms, zones, water sources, well permits, devices, sensors, schedules, recommendations, runs, signed commands and versioned safety policies. Wrote down the rules the design follows: FAO-56 crop water demand, Oman's Personal Data Protection Law, well permits, TRA type approval for radio devices and the summer midday work window.
Built 5 key screens on a production dashboard kit: the dashboard with weather, 5 KPIs, running now, the next 12 hours and needs attention; the zones table with moisture against band and bulk disable with a reason; zone detail with a 72-hour moisture chart and a manual run that pre-checks interlocks and caps duration; recommendations with ET0, Kc and ETc per zone and named fallbacks; and live control with the farm schematic, interlocks and command feed. A farm switcher filters every page and all actions run on local state.
A LoRaWAN network server such as The Things Stack or ChirpStack, gateways, soil probes and weather stations, Talgil or Galcon controllers and variable speed drives, Mapbox maps, SMS through Omantel or Ooredoo with Twilio as fallback, and push notifications. Signed commands with per-device sequence numbers, staff auth by role and farm, the full audit log, Arabic with right-to-left layout, the remaining console screens and the mobile grower and technician apps.
The live control screen lists every interlock with its state and marks hard ones with a lock. The app can bypass a soft rule only for a farm manager, with a reason and a time limit, and it can never switch a hard interlock off. Pumps start and stop only through a run.
Each recommendation card shows yesterday's and tomorrow's ET0, Kc, crop demand, water applied in the last 3 days, the moisture trend and the change in plain words, such as "+14% · 3 runs of 35 min". When a station or probe is offline, the fallback used is named. Nothing changes until someone accepts, edits or rejects with a reason.
A strip of gateway dots sits in the top bar, and a banner names any controller running on its stored schedule and warns that commands to it will wait. Zones behind it show no data rather than stale readings, and their runs are flagged as running from the stored schedule.
Each command records who or what issued it (a schedule, a recommendation, an alert rule or a person), from the console, grower app or technician app, with its expiry, the device's reply and the reason given. Manual runs, stops and bypasses cannot be sent without a reason.

Designed and built a clickable farm office console for a group of five suckler beef and sheep farms in County Galway: one animal register for every herd and flock, withdrawal locks that block the sale of treated animals, AIM notification status on every birth and movement, and sale lots that cannot go to the mart until every pre-sale check passes.

Designed and built a clickable operations platform for an indoor vertical farm in Dubai growing leafy greens, herbs and microgreens across 3 warehouses: room health against recipe bands, a farm map down to every rack and tray, setpoint suggestions that a head grower must approve, and a lot trace from seed lot to customer.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab