PRODUCT CASE STUDY
Technical Product Management · Arid-agriculture IoT

TerraLINK — field-to-institution monitoring for irrigation in arid agriculture

A three-tier sensing, edge-processing and reporting system for date-palm irrigation in Algeria’s Saharan oases — built and exercised as a closed-loop digital twin, with field validation still outstanding.

Status Digital-twin simulation · field validation pending
Role Founder and product lead
Product surface TerraLINK (irrigation) · OmnilinkOS platform (adjacent)
Evidence window Discovery and build records, September 2026
Reference pilot Station Sentinel #01, Biskra oasis (designed, not deployed)
Deployment state No field hardware installed. No irrigation controlled in production.
Regulatory state No approval or endorsement held. A validation protocol has been drafted.

Executive summary

I led the product definition of TerraLINK, a three-tier monitoring and actuation system for date-palm irrigation in arid North Africa. The binding problem was not sensor coverage but decision authority: growers, regional water offices and the ministry each watched a different slice of the same water system on data they could not reconcile, so when readings diverged there was nobody to ask. I framed the product around closing that accountability gap, made offline-first operation the central design constraint, and used a closed-loop simulation to de-risk the architecture before committing to field hardware. What exists today is working software plus an executed 30-cycle digital twin — not deployed infrastructure. The largest unvalidated risk is whether modelled water savings survive real soil and sensor drift.

Implemented & tested Simulated / emulated Mocked output Planned Demo representation

1. Problem and users

The primary user is a date-palm grower working a multi-hectare plot against a rotating water allocation. Secondary stakeholders are the regional water authority, which needs aquifer drawdown accounting, and the ministry, which needs national water and yield reporting.

Read the evidence base carefully. I have a documented exchange with an industrial operator and a stakeholder discovery programme. I do not have primary research interviews with date-palm growers, and no market-sizing work. National water-loss percentages from earlier project material are unverified and are excluded here.

Four terms recur. A digital twin is a simulation of the physical system driven by real control software. An edge agent is a program that decides at or beside the sensor, with no round trip to a server. LoRa is a low-power radio suited to short readings over kilometres without cellular coverage. Store-and-forward buffers events while the network is down and replays them on reconnection.

2. Discovery and product decisions

I run discovery continuously with stakeholders, in parallel with development rather than as a periodic exercise. I keep an explicit register of open product questions, each carrying a status — locked, decided, or still open. Seven were open at the last review; one was blocking the backend schema.

Initial assumption Evidence that changed it Decision
Spare parts would be stocked per production unit, by analogy with the ERPs I had studied Partner exchange, 19 Sep 2026: on a small plant a single central store is the norm, and line-level stocking is a cost-bearing process decision rather than a default Rewrote the data model around one central store; made line-level stocking an explicit, arbitrable option instead of a default
“A work order belongs to a crew” — one ownership model Internal normalisation review, same day: crews are optional in real operations, and a part issued on a misdiagnosis has to be returnable Crew assignment stays optional, and the part lifecycle gained a RETURNED branch alongside CONSUMED

The rule I applied throughout: no evidence, no knob. A configuration option is a lifelong maintenance commitment, so we added one only once an operator’s answer justified it — and cut one proposed interface because it was a sales asset, not a product requirement.

3. Product concept and user workflow

A probe buried in the root zone reports moisture at three depths. A local edge process evaluates each reading against a deterministic rule set and an embedded agent before anything is transmitted, so a bad reading is caught at the node. A farm-level hub aggregates by zone, cross-references regional weather and quota feeds, and can command irrigation hardware. Overnight, hubs synchronise with an in-country cloud layer that serves ministry reporting. A grower can override any automated action, and that override is signed and logged.

The interactive 3D demo linked below visualises this workflow. Its on-screen figures are scripted animation timings, not measurements.

4. Architecture and key trade-offs

Three tiers: field node, farm edge, institutional cloud. The consequential decisions were boundary decisions rather than component choices.

flowchart TD
    subgraph L0["Field node"]
        PROBE["Root-zone probe, 3 depths
capacitive
emulated"] RULE["Deterministic rule engine
emulated"] ZIG["Edge agent, Zig
implemented, compiled binary"] VALVE["Solenoid valve + HW watchdog
emulated"] end subgraph L1["Farm edge"] FWD["LoRa gateway forwarder
emulated"] HUB["Farm hub: aggregation, decision support
implemented"] BUF["Offline buffer + store-and-forward
implemented"] UI["Grower interface + signed override
demo representation"] end subgraph L2["Institutional cloud"] ORCH["Agent orchestrator + workflows
implemented"] LLM["Reasoning-model outputs
mocked"] RPT["Ministry reporting
planned, awaits field data"] end PLAT["OmnilinkOS operations platform
25 modules / 270 routes / 215 tests
implemented"] PROBE --> RULE --> ZIG ZIG --> VALVE ZIG -- "LoRa 868 MHz, mesh simulated" --> FWD --> HUB HUB --> BUF HUB --> UI UI -- "human veto" --> VALVE BUF -- "mTLS, replay on reconnect" --> ORCH ORCH --> LLM ORCH --> RPT PLAT -. "adjacent product surface" .-> HUB classDef impl fill:#0d2b1f,stroke:#10b981,color:#d1fae5 classDef sim fill:#1c1403,stroke:#f59e0b,color:#fef3c7 classDef mock fill:#2a1030,stroke:#c084fc,color:#f3e8ff classDef plan fill:#111827,stroke:#6b7280,color:#e5e7eb classDef demo fill:#0b1f2b,stroke:#38bdf8,color:#e0f2fe class ZIG,HUB,BUF,ORCH,PLAT impl class PROBE,RULE,VALVE,FWD sim class LLM mock class RPT plan class UI demo

Field node → farm edge → institutional cloud. Every component carries its evidence status.

Implemented & tested Simulated / emulated Mocked output Planned Demo representation
Tier Responsibility Status
Field node Sense root-zone moisture; reject implausible readings locally; decide actuation Agent implemented Hardware emulated
Farm edge Aggregate by zone, cross-reference regional context, buffer through outages, expose grower control Hub implemented UI demo only
Institutional cloud Orchestrate workflows, aggregate nationally, serve ministry reporting Orchestrator implemented Models mocked Reporting planned

Why these four trade-offs

5. Prototype and validation

I used a closed-loop digital twin to reduce risk before field hardware. The run exercised six scenarios: dry-zone detection triggering irrigation; progressive root-zone wetting; deterministic cutoff at field capacity; an injected heatwave triggering edge anomaly detection and cloud escalation; a ministerial override during sandstorm conditions; and a closing reporting cycle. The components were not equivalent, and the distinction is the point:

What this establishes
  • Control logic, escalation paths and override semantics work end to end without physical hardware
  • Failure modes surface correctly and reach the right tier
  • The architecture is cheap to change — a run iterates in an hour, not a field cycle
What this cannot establish
  • Field reliability of any kind
  • Crop impact or agronomic benefit
  • Real water savings
  • Production readiness
  • Regulatory compliance

Simulation output is not agricultural measurement, and I do not present it as such.

6. Outcomes and current status

215
Passing backend tests, 25 modules, 270 API routes
Implemented & tested
30
Closed-loop simulation cycles executed, real edge agent driving
Simulated environment
1
Schema-blocking product question resolved from partner input
Documented
7
Open product questions under active tracking
Documented

Deliberately excluded: modelled unit costs, payback period, and water-volume savings. These exist in project documentation but rest on volume-pricing and agronomic assumptions I have not independently validated, and three different water-savings figures appear across earlier artefacts. Publishing a single number would misrepresent the state of the evidence. Latency figures shown in the 3D demo are scripted animation timings and are not measurements.

7. Risks, open questions, next validation

Open risk Experiment that resolves it
Modelled water savings may not survive real soil heterogeneity and salinity Install probes on one pilot corridor; compare modelled against measured volumetric water content over a full irrigation cycle
Capacitive sensing drift in saline conditions has no long-term data Run a sensor array against a reference moisture probe across one seasonal cycle to quantify drift
Edge agent is verified only against emulated firmware Exercise the compiled agent against real field-node hardware before any actuation is permitted
Unit economics rest on assumed volume pricing Obtain supplier quotations at pilot volumes and re-derive the cost model
Discovery has no primary grower interviews Interview a small sample of date-palm growers on allocation mechanics and current irrigation practice before freezing the workflow

The next milestone is a bounded single-corridor field trial with reference instruments — not a scaled deployment. It has not yet happened.

8. My contribution

I defined the product scope and problem framing; ran the discovery loop and maintained the open-question register; made the call to build a simulation before field hardware; wrote the architecture trade-offs above; and held the line on distinguishing simulated output from verified result throughout.

Implementation was AI-assisted under my direction: coding agents wrote the firmware, the twin harness and the bridge module, and I specified, reviewed and tested the output. The Zig edge runtime the bridge attaches to is an existing open-source project to which this work contributed a module — it is not my invention, and that project’s test count is not an achievement of this team.

The judgement call I would highlight is cutting a graph-based configuration interface out of the first release. It was the most demo-attractive element and among the most expensive to maintain. Excluding it protected the release gate: a sales asset is not a product requirement.

9. Supporting materials

How to read this case study
Every quantitative claim carries a status label, and the diagram marks each component as implemented, simulated, mocked, demo-only or planned. Where a number depended on an assumption I could not verify, I left it out rather than qualify it into usefulness. The underlying engineering records are in the full technical report, which is public.