Skip to content
Diosh Lequiron
agriculture

5 data sources unified, Automated decision triggers operational, Irrigation efficiency improved through data-driven scheduling

Agricultural Data Architecture: Five Disconnected Data Sources Into One Decision System

By Diosh LequironIntegrated Farm SystemsApril 2026
Key Outcomes

5 data sources unified

Automated decision triggers operational

Irrigation efficiency improved through data-driven scheduling

Five data sources were unified into a single decision system, automated triggers replaced daily manual cross-referencing of dashboards, and irrigation efficiency improved through data-driven scheduling rather than calendar-based watering.

The starting state: a farming operation managing multiple crop varieties across several hectares, collecting data from soil sensors, weather stations, and drone imagery — with none of it connected. The technology investment had already been made. What had not been built was the information architecture that turned the data into decisions.

The challenge: connect the existing data sources into a working decision system without replacing the field hardware, without asking the farm manager to learn a new app, and without building infrastructure the operation could not maintain on its own after the engagement ended.


Starting Conditions

The farm was running a reasonable technology stack for a mid-scale operation. Soil sensors reported moisture and nutrient data at the field level. A local weather station produced hyper-local forecast data more accurate than regional feeds. Drone imagery — flown on a defined cadence — produced crop health and canopy cover data across every hectare. Each of these systems worked. Each produced usable data. None of them talked to each other.

Scale of fragmentation. Five different data sources, five different formats, five different dashboards. Each vendor had designed its system to be the single pane of glass for its own slice of the operation. None of them had been designed with the assumption that anyone would want to combine their output with anyone else's.

Decision workload. Every morning, for every field, the farm manager opened five interfaces and manually cross-referenced them. Soil moisture here. Forecast there. Drone imagery in a third place. The manager was, in effect, the integration layer — the human middleware reconciling five systems into one mental model before any decision could be made. This worked. It was also the ceiling on the operation's scale.

Budget and capability constraint. The farm could not afford enterprise agricultural software, and did not want a bespoke app that would require a developer to maintain. Any architecture I designed had to be simple enough that the existing farm staff could operate it without new hires. This constraint ruled out the most commonly-pitched solution: a custom mobile application with its own cloud backend.

What had been tried. The operation had previously evaluated integrated farm management platforms. Each required replacing at least some of the existing hardware. Each required committing to a specific vendor's ecosystem. Each carried an ongoing license cost that did not match the operation's economics. The farm's own diagnosis was that they needed "a better app." My diagnosis, after walking the data flows, was that they needed a different architectural layer underneath the apps they already had.


Structural Diagnosis

Three architectural problems explained why a well-equipped operation was still making decisions at the speed of a manually-operated one.

Tool proliferation without integration. The farm had invested in good tools. Each tool was capable. The failure was not in any individual tool — it was in the absence of a layer that sat above them and reconciled their outputs. This is the same pattern that appears in enterprise technology: organizations buy point solutions on the assumption that each solution will contribute capability, then discover that capability scattered across disconnected interfaces is not the same thing as capability. The tools worked. The information architecture did not exist. Adding a sixth tool would have made the problem worse, not better. Conventional fixes — more training on each dashboard, a standing daily meeting to review all five — treat the symptom (slow decisions) without touching the structure (fragmentation) and so they do not hold.

The human as integration layer. Because no system combined the data, the farm manager was doing the integration work with his eyes and his memory. This is a load-bearing role that looks, from the outside, like an ordinary morning routine. It is not. When a single person is the only place in the operation where data is combined into a decision, that person becomes the single point of failure for every decision the operation makes. If the manager is sick, the decision quality degrades. If the manager goes on leave, the operation reverts to calendar-based decisions. If the manager leaves entirely, the institutional knowledge of how the data fits together leaves with him. Conventional fixes — training a second person, writing a procedure manual — do not scale past a small team and do not eliminate the underlying fragility.

Decisions disconnected from outcomes. The farm recorded yield at harvest. The farm recorded decisions during the growing season. No structural connection existed between the two. The manager could not tell, with any precision, which decisions during the growing season had produced which yield outcomes. Every growing season, the same intuition-based decisions were being made, and every harvest, the outcomes were being recorded as a separate dataset. The loop between decision and consequence was not closed. Without a closed loop, the operation could not learn from its own history. Conventional fixes — writing down decisions in a notebook, reviewing them at year-end — produce data that is too unstructured to be analyzed at scale and too infrequent to change anyone's behavior during the next season.


The Intervention

The redesign was built as three layers, deliberately sequenced so each layer was operational and producing value before the next was built. The technology stack was kept intentionally simple: a lightweight time-series database, a rules engine, and SMS-based alerts. No mobile app. No cloud platform commitment.

Layer 1: Data Ingestion — Normalization Before Anything Else

What was built: A single time-series database that ingested feeds from all five data sources and normalized them into a common format. Soil sensor readings, weather station data, drone-derived metrics, and two additional operational feeds were all translated into the same schema — consistent field identifiers, consistent timestamp formats, consistent unit conventions.

Why this layer came first: Every other layer depends on a shared reference frame for what "this field, this day, this condition" means. Without normalization, the rules engine in Layer 2 would be writing five separate sets of rules against five separate schemas, and the feedback loop in Layer 3 would be correlating yield data against decisions that could not be traced back to a single time and place. The ingestion layer is load-bearing. Building Layers 2 and 3 before it was stable would have been building decision logic on a foundation that could not be trusted.

The mechanism: Each data source was pulled on its own cadence and translated into canonical records keyed by field identifier and timestamp. The translation rules were explicit and versioned, so when a vendor changed its data format (which one of them did during the engagement), only the translation layer had to change. The rest of the architecture kept working against the canonical schema without modification.

First-phase outcome: For the first time, the farm had a single place to look at "what is true about this field right now" that combined all five sources. The manager's morning routine shortened before any rules were written, because he was reading one dashboard instead of five.

Layer 2: Decision Trigger Engine — Rules That Watch the Data

What was built: A rules engine that ran continuously against the canonical data store and generated actionable alerts when defined conditions were met. Two representative rules: soil moisture below threshold plus no rain forecast for 48 hours triggers an irrigation recommendation for that field; pest risk score above threshold plus growth stage equal to flowering triggers a treatment recommendation. The alerts were delivered by SMS to the farm manager and designated field leads.

Why this layer depended on Layer 1: Rules that reference soil moisture and weather forecast and growth stage can only exist if those three values are retrievable from a single query. Without Layer 1, every rule would have required the rules engine to talk to three separate APIs, handle three separate schemas, and reconcile three separate timestamps before it could fire. That is the work the farm manager was doing by hand. Moving that work into code required having the normalized layer to code against.

The mechanism: The engine ran on a simple schedule — once every fifteen minutes against fresh data. When a rule fired, an SMS went out with the field identifier, the triggering condition, and the recommendation. The manager could act on the recommendation, override it, or ignore it. Every action (or inaction) was logged against the triggering event, which set up Layer 3.

First-phase outcome: The morning cross-referencing ritual stopped being necessary. Instead of opening five dashboards to decide whether today was an irrigation day, the manager received a targeted SMS per field as conditions warranted. Decision-making time for daily field operations decreased significantly. The manager's attention moved from data gathering to decision review — the higher-value work that the structure had previously prevented him from doing.

Layer 3: The Feedback Loop — Closing the Circle

What was built: Yield data from harvest was recorded against the timeline of decisions that had been made during the growing season for each field. Every alert the engine fired, every action the manager took in response, and every outcome at harvest became a linked record in the same database.

Why this layer came last: A feedback loop with no decisions to record is a database schema with nothing in it. Layer 3 only becomes valuable after Layer 2 has been running long enough to produce a meaningful history of decisions. Building it first would have been premature optimization — the hardest thing to justify on a farm that was trying to stay alive inside its existing budget.

The mechanism: Over time, the combined history allowed the operation to see which decision patterns correlated with better yields. Not as a machine learning model — the dataset was not large enough and the farm did not need the complexity — but as a simple, reviewable history that could be sorted and filtered. A human could look at it and see patterns. That was the point.

Tradeoff introduced: The architecture added maintenance load that did not exist before. The translation rules had to be kept current as vendor schemas drifted. The trigger rules had to be reviewed and calibrated at the start of each growing season, because thresholds that were correct last year were not automatically correct this year. This was not free, and the engagement included a structured handover so the farm understood that the system required ongoing care. A decision system that is not maintained becomes a decision system that quietly produces wrong decisions without announcing that it has gone stale.


Results

Decision speed: Decision-making time for daily field operations decreased significantly. The manager stopped manually cross-referencing five dashboards. Recommendations arrived as SMS alerts tied to specific fields and specific conditions, and the manager's attention shifted to reviewing and acting on those recommendations rather than assembling them from scratch every morning.

Irrigation efficiency: Irrigation moved from a schedule-based rhythm (water on Tuesdays and Fridays because that is how it has always been done) to a data-driven trigger (water field 3 this afternoon because soil moisture is below threshold and the forecast is dry for two days). The amount of water used for the same crop outcomes dropped because water was applied where and when it was needed rather than applied uniformly on a calendar. The mechanism was the soil-moisture-plus-forecast rule in the trigger engine, not a change in the irrigation equipment or the team.

Information architecture: Five data sources were unified under a single canonical schema. This is the structural result, and the one that sustained the others. The operation could add a sixth source — a new sensor type, a new market data feed, a new satellite imagery provider — by writing one more translation rule, not by adding a sixth dashboard to the morning routine.

Sustainability: The system was deliberately simple enough that the farm could operate it without a developer on staff. The lightweight database, the rules engine, and the SMS delivery channel were all components the farm's existing staff could manage. The engagement ended with a running system, not with a dependency.

Counterfactual: Without the integration layer, scaling the operation would have hit a ceiling that was not technological — it was cognitive. The ceiling was the farm manager's ability to hold five dashboards in his head at once. Any expansion that added more fields would have made the morning cross-referencing routine longer, not linearly but combinatorially, because the number of field-by-source comparisons grows with the number of fields. At some point between the current scale and twice the current scale, the manual integration approach would have broken down, and the operation would have started missing conditions that required action. The intervention did not just speed up the current operation. It removed the structural ceiling on future expansion.


The Diagnostic Pattern

The farm did not have a technology problem. The soil sensors, the weather station, and the drone imagery platform were all working as designed. The farm did not have a skill problem. The manager knew exactly what to do with the data once he had it assembled. The farm had an information architecture problem — the specific structural gap where good tools produced good data that was never combined into a decision surface.

The diagnostic pattern transfers. The question to ask, in any operation that has invested in technology and is still frustrated with its decision speed, is not "which tool should we replace?" It is: where are the data combinations happening inside a human's head, and what would it cost the operation if that human went on leave tomorrow? The places where the answer to that second question is "a lot" are the places where an integration layer is load-bearing and missing.

The value was never in the sensors or the drone or the weather feed individually. The value was in the connections between them. An isolated soil sensor is a gadget. A soil sensor connected to weather data, connected to decision triggers, connected to yield feedback — that is a system. The same logic applies across domains: the operations team with five dashboards, the clinic with four record systems, the advisory firm with three CRMs. The intervention looks different in each context. The structural diagnosis is the same.

Interested in similar results?