Skip to content
All systems operational0 AI providers monitored, polled every 2 minutes
Live status
Back to Originals

Javier de la Torre Asked Claude How to Plant a Tiny Vegetable Bed. Now an Agent Waters It, and a Claude Code Routine Has Asked for New Batteries Every Morning Since October.

Marcus Chen··6 min read
HUMAN + AI

The best AI story I read this week has nothing to do with a funding round or a price cut. It is about two square metres of cabbage, broccoli, lettuce and spinach in a garden in Spain, written by the person who grows them.

On November 5, Javier de la Torre, a founder of the location-data company CARTO, published "I gave an agent a lakehouse and control of my garden". The subtitle is "Or how to produce a €60 lettuce." It is funny, honest about what broke, and generous with detail. Read the whole thing. Here is why I think it matters beyond the vegetables.

It Started With a Few Questions to Claude

The project began the way plenty of projects begin now. "Obviously, I asked Claude," de la Torre writes. How deep should the bed be? What soil should go in it? How far apart should the broccoli sit? How much water? The strip of lawn available measured just over three metres.

The kids, the post reports, were interested for approximately two hours.

Then came the sensors. Eleven Ecowitt devices now report from the bed and the lawn: eight soil probes, a weather station, a leaf-wetness sensor and the gateway's own indoor sensor. That is about €300 of hardware for a bed that, in de la Torre's estimate, might one day produce €40 of vegetables. Every probe is pinned on a map. A Reolink security camera watches the bed around the clock, and its first big finding was that a neighbour's cat uses the bed as a toilet.

An Agent That Grades Its Own Homework

The readings land in LakehouseBox, a data service de la Torre built (the post says the garden is more or less where it started), as Apache Iceberg tables. Since September 18 the garden has logged a little over four million readings, and the raw sensor table takes 3.22 MB. The photos are the heavy part, about 3 GB so far.

Every morning at 08:45 Madrid time, a hosted agent called garden_morning reads the history, the forecast and the photos, then sends a note "short enough to read over coffee": what happened, what should change, why, and anything unusual. Between runs it keeps a journal, a list of decisions it is still waiting to check, and notes on each sensor's quirks. On its first real run it spotted an instruction with a stale watering time, saw the soil moisture jump at a different hour, and trusted the data over the note.

When the garden throws a surprise, de la Torre does not build another app. The fix is an edit to the agent's instructions, the same habit behind the instruction files in our CLAUDE.md guide. When something started chewing the lettuce, the camera missed it; phone close-ups showed fresh frass (caterpillar droppings) under the leaves. So the prompt now tells the agent to inspect full-resolution crops for holes, eggs, aphids and slug trails, and to compare against previous days, because, in the post's phrase, "damage is a rate, not a state."

Every decision goes into a log with what it was meant to achieve and when to check, so the next run can grade it. De la Torre's line on this is the best sentence in the post: "An agent that writes down its expectations and grades itself against the data is a very different thing from a chatbot with a thermostat."

The Claude Code Routine Has One Request

The most charming detail belongs to the older agent, which de la Torre calls "the Claude Code routine that started all this." (Claude Code is one of the coding harnesses we track on our harness board.) In early October the routine noticed three sensors had low batteries. It has asked for new ones every morning since.

On November 1, its log entry began: "BATTERIES, 29TH DAY OF ASKING, AND THE FROST DATE HAS MOVED CLOSER."

"I have still not replaced the batteries," de la Torre writes. The newer hosted agent shares the routine's priorities. Asked through the chat box on its page how the garden was doing, it reported that one end of the bed is dry and needs a dripper, and asked, again, for the batteries.

I laughed out loud at this, and then I thought about it. A tool that raises the same small, correct maintenance issue, politely and persistently, until a human deals with it is a better colleague than most monitoring dashboards I have used. Nobody wrote an alert rule for it. It read the battery column and kept count.

Handing Over the Hose, Carefully

The last human step was watering. The Rain Bird controller is battery powered and only talks Bluetooth to its own app. An attempt to speak its protocol from an ESP32 board failed (the controller speaks "a different dialect"), so de la Torre went with what the post calls "the most absurd option that works": an old Android phone next to the valve box, running an automation app that taps through the official Rain Bird app. The agent calls a tiny web API on the phone, with a key it never sees, and a change takes about two minutes to key in.

The first end-to-end test moved the lawn's start time to 15:27. At 15:27 the sprinklers came on, and two lawn probes rose from 53 to 66 percent and from 31 to 57 percent.

The rules are deliberately small: at most one change per zone per run, no more than 20 percent per change, between 1 and 15 minutes, and no switching off unless at least 5 mm of rain is forecast for the next 24 hours. With autumn rain soaking the lawn, the agent's most frequent decision so far has been to do nothing, "which is also correct."

Our Take

I want us to cover more stories like this one, and not only because it made my morning. Most AI coverage, ours included, lives at the scale of gigawatts and trillion-dollar IPOs. This is the other end of the market, and de la Torre puts the economics in three sentences: "The sensors cost €300. The storage for a year of readings costs close to nothing. The intelligence to read it every morning costs cents." By the post's count, that opens the door for the small farm, the school greenhouse, the community garden and the lab with one critical freezer. Added up, that long tail is a bigger market than it sounds.

The lesson I would carry to much larger deployments is one de la Torre flags as unsolved. Today the watering limits live in the agent's prompt, and the phone only checks that the numbers make sense. The post argues they belong "in the thing that opens the valve, not in the instructions of the thing that decides." That is right, and it is the same argument Nvidia made when it put an agent kill switch in silicon. A two-square-metre bed is a good place to learn it.

The gentler lesson: the best agent in this story is not the one with the most autonomy. It is the one that writes down what it expects, checks itself the next morning, explains itself in four paragraphs, and keeps asking a human to buy batteries. The broccoli verdict is still out. The post ends with a promise to go buy them. If you want the queries and setup, there is a step-by-step walkthrough of the garden on the LakehouseBox site, and the full story is on de la Torre's site.