Bengaluru, 8:48 pm · still at the desk

Product · Data visualisation · 3D · Alert design

A camera on every plant

A camera on every plant

A camera on every plant

From a grid of plant photos to a 3D map of the crop

2 min read

Role

Product, design and build

Timeline

2026

Scope

Product · Data visualisation · 3D · Alert design

Industries

Indoor vertical farming

Outcome

The farm’s daily plant health review, on one screen

A rack drawn as 3D terrain coloured by canopy area, with one level shown tray by tray beside it
A rack drawn as 3D terrain coloured by canopy area, with one level shown tray by tray beside it

The crop as terrain, each plant’s canopy setting the height of its tray

A daily health check of every plant, on one screen

Plant health is the view where AGEYE’s daily plant scans become a decision. It draws the crop as a 3D terrain, with every plant measured for canopy area, height, greenness and canopy temperature and read against the plants around it, so the ones falling behind surface without anyone searching. I planned, designed, built and shipped it, working with AI coding agents.

Screen recording of one level of the rack, scrolling tray by tray
Screen recording of one level of the rack, scrolling tray by tray

One level at a time, tray by tray

The brief

A grid of photos, and no way to compare them

A grid of photos, and no way to compare them

ARIS, AGEYE’s multispectral imaging rig, was built in house from scratch and scanned the racks every day. What it produced reached the grower as a grid of photo cards, one per flagged plant, each carrying an anomaly score. A card could point at a single plant. It could not show how that plant compared with its neighbours. Most underperformers only show up in that comparison. Yield and delivery dates are committed weeks in advance, so a problem found a week late becomes a short shipment.

A grid of plant cards, each measuring one plant, with one plant's photo and figures overlaid
A grid of plant cards, each measuring one plant, with one plant's photo and figures overlaid

A card holds one plant’s whole history, and nothing about the plants beside it

The same plants as terrain: five trays on one level side by side, the surface dropping under the two that are behind
The same plants as terrain: five trays on one level side by side, the surface dropping under the two that are behind

The comparison a card cannot make: every tray on a level, against the others

The solution

The crop drawn as terrain

The crop drawn as terrain

The goal was to reduce the visual load of a very large amount of data. The question I designed around was how a grower could see the state of every plant without reading a table for each one, or walking the rows to look at them. Plotting each measurement as physical height, and colouring the same surface as a heat map, turns that comparison into something the eye does at a glance.

Each tray is rendered as a continuous surface interpolated between plant positions, and each plant’s measurement sets the height of the surface where it sits. A plant smaller than its neighbours appears as a dip, and a tray falling behind its level sits visibly lower than the trays beside it. The metric is selectable between canopy area, height, greenness and canopy temperature, so the same rack can be read four ways.

The terrain can be read across a whole rack in 3D or one level at a time as a filmstrip, and flat heat tiles show every tray on the farm at once. Plant health alerts also surface in the digital twin, so crop condition is read on the same model as the environment that shapes it.

The same level under canopy area, height, greenness and temperature, with one flagged plant ringed in each
The same level under canopy area, height, greenness and temperature, with one flagged plant ringed in each

The same rack read four ways: canopy, height, greenness, temperature

Heat tiles for every tray on the farm, with the plant photographs behind one tile

Every tray on the farm, on one screen

Daily

Daily

Daily

every plant the rig reaches, imaged and measured

4

4

4

metrics on every plant: canopy area, height, greenness, temperature

3.1M

3.1M

3.1M

environment readings joined to the daily image record

The impact

Scouting goes where the data points

The daily crop review is now one screen: the terrain, and at most one alert. It used to be a scroll through every flagged photo, with every comparison held in the grower’s head, which made a plant falling behind very difficult to spot. Problems that only exist in comparison now appear on the page without anyone searching for them.

Checking the crop by eye on the floor was never a real alternative at this scale. A room of more than sixty thousand plants, checked at even two seconds a plant, is more than thirty hours of looking, the full working day of four people, every day. So scouting sampled a few trays and missed the rest, where the terrain now covers every plant the rig measures.

Five detectors run on every scan, and I allowed only one to raise an alert: a tray falling below three quarters of its level median. On a healthy day the page stays quiet, which is why the alert that does appear gets acted on. ARIS was always collecting this data. Plant health is what turns it into caught problems and protected delivery dates.

Plant health shown on the digital twin: canopy area per level, with the level that is behind marked on the 3D rack
Plant health shown on the digital twin: canopy area per level, with the level that is behind marked on the 3D rack

Crop condition read on the same model as the climate that shapes it