Joshua Gunawan DWG JG-2026workiris
JG-2026 · SHEET 06 OF 12 · SCALE 1:1 DWG JG-2026workiris
← all sheets
SHEET 06 OF 12 · JG-2026 Prototype · field validation pending

IRIS

Rain-aware irrigation guidance, leaf screening and a plot assistant on one rice plot.

Problem

Indonesia harvested 10.05 million hectares of paddy in 2024, which makes rice water management a national sustainability question rather than a farm-level one. Safe alternate wetting and drying can cut irrigation and methane while holding yield, but it needs two things a farmer standing in a field rarely has together: the current water level against the stage rules, and the next three days of rain. Farmers read field tubes and inspect leaves as separate tasks; nobody hands them one answer for one plot.

Constraints

  • No field validation was possible within the project window, so no accuracy or water-saving claim can be made about Indonesian fields.
  • The system must never actuate anything. It does not control a pump, diagnose disease or prescribe pesticide doses.
  • The leaf model is trained and evaluated on a public dataset, and the water and methane figures come from a simulation — those categories cannot be blurred into each other.
  • An unattended farm-control service is explicitly out of scope; the repository says so where a reader will look.

Decisions

  1. Keep the farmer or extension officer as the decision-maker: the system recommends, records the confirmation, and never closes the loop.

    rejected Closed-loop irrigation control that opens and closes the gate from the sensor reading.

    A wrong recommendation costs a season, and an actuator turns a wrong recommendation into a wrong action without anyone in between. The confirmation record is also the honest unit of evidence: it shows what the system said, what a human decided, and what happened next — which is the thing a field study in the next phase would actually need.

  2. Label every result by its evidence class, in the interface and in the README, and keep those labels distinct.

    rejected Report the leaf model's 0.9784 held-out accuracy as the system's accuracy.

    That number comes from a public dataset, not from Indonesian field leaves, and the water and methane results come from a simulation rather than measurement. The repository uses the labels working prototype, simulated, modelled, public-dataset benchmark and field validation pending on purpose — a reviewer needs to know which claim they are looking at, and the demo plot card says the data is synthetic rather than implying a real field.

  3. Let the official BMKG forecast gate the irrigation advice with an explicit rain-hold rule, instead of relying on sensor history.

    rejected Infer the rain from the water-level drop rate.

    Sensor history tells you what already happened; the expensive mistake is irrigating the night before rain. A 72-hour official forecast with a 15mm hold threshold is the one input that turns the recommendation from reactive into preventive, and using the government's own feed means the data source is defensible rather than scraped.

  4. Ship a deterministic 30-day demo seeded from committed inputs so the walkthrough can be reproduced exactly.

    rejected A live demo against whatever the database happens to contain.

    A judge, an examiner or a teammate should be able to run one command and see the same day of the same plot that the screenshots show. Reproducibility is what separates a demo from a story, and it is the same reason the 100-day evidence run is generated from committed inputs rather than hand-typed.

The hard part

Keeping four kinds of truth apart inside one interface. A water level from a sensor is measured, the methane number is simulated, the leaf class is a public-dataset benchmark, and the rain flag is an exploratory model. Every one of them arrives on the same screen as a confident-looking number, and the genuinely hard work was designing the labels, the state vocabulary and the review step so that a farmer — or a reviewer reading the repository — can tell which is which without reading a methods section. The classifier itself was a training run; the discipline was in what I refused to let the interface imply.

Outcome

  • 0.9784

    held-out accuracy, five-class leaf screening (public dataset, n = 1,621)

  • 2,880

    readings in the deterministic 30-day demo

  • 100 days

    1ha zero-rain simulation, reproducible from committed inputs

  • Pending

    Indonesian field validation — not established

Every figure carries its evidence class in the project's own README: working prototype, simulated, modelled, public-dataset benchmark, field validation pending. The repository currently has no project licence and no public deployment — it runs locally, and the deployment guide says no internet deployment mode is supported by the prototype. I built the system; the research concept and the pitch were shared with the team.

Figures and revisions

FIG. 1 The IRIS plot screen showing a demo plot, a hold-irrigation recommendation with water level and stage, and the BMKG rain status.
The plot screen, running locally against the seeded demo. The recommendation, the water level if it held, the crop stage, the source of each input, and a synthetic-data label on the plot itself.

source: IRIS local prototype · seeded 30-day demochecked: 11 Oct 2026

FIG. 2 The IRIS water screen showing the stage rules behind the recommendation and the reason it was flagged.
Today's water action with the stage rules that produced it and the reason the day was flagged. The reasoning is on the page, not behind a tooltip.

source: IRIS local prototype · seeded 30-day demochecked: 11 Oct 2026

Every plate carries its provenance. Marking a row marks the plate it names, and the plate's number links back to its row.
platesourcechecked
FIG. 1 IRIS local prototype · seeded 30-day demo 11 Oct 2026
FIG. 2 IRIS local prototype · seeded 30-day demo 11 Oct 2026