
Garden
Māra: our vegetable garden now has its own agent
This spring I propagated over 100 pumpkin plants.
Some go into a patch on the block. The rest go to whoever wants them. On top of that there are four raised beds, a greenhouse full of trays on flood tables, grow bags, herbs, flowers, a growing seed collection, and two small kids who want to know when they can pick something.
A notebook was never going to carry all of that. So I built Māra, a garden system that my AI agent, Cosmo, runs for the family.
Over 100 pumpkin plants raised on the flood tables. A patch for us, the rest for the neighbours.
What I wanted from the garden
I started with the reasons, because everything else hangs off them.
- Health. Know exactly what went on our food, from seed to plate. Every spray and every feed.
- Sustainability. Food from our own garden is far less fuel-hungry than food from the supermarket. More on that below.
- Teaching the kids. Our four- and five-year-old should see the whole cycle: seed, sprout, plant, food, and back to seed.
- Cost. Save heirloom seed instead of buying it every year, and track what the garden saves us at supermarket prices.
- Self-reliance. Vegetables coming out of the garden all year round, so we lean less on the supermarket.
- Sharing. Surplus goes to the neighbours and the gate stall.
- A seed bank. A long-term collection with its history recorded, not a shoebox of unlabelled envelopes.
- Skill. Get better each season, using our own records rather than guesswork.
- Planning. New growing areas, the greenhouse, herbs, and where seed comes from.
Two of those goals sit underneath all the others.
The first is sustainability. Think about what it takes to get a supermarket carrot onto our table. It is grown in a monoculture, sprayed, harvested by machine, packed, and trucked north before we drive into town to buy it. Every step burns fuel, and every step happens out of our sight. When the carrot comes out of our own raised bed, most of that chain disappears. We grow it, we pick it, and we carry it inside. We know what went on it, because we put it there.
The second is reliance. I want vegetables coming out of this garden in every month of the year, not a glut in February and nothing in August. Every week of food we grow ourselves is a week we are less dependent on the supermarket, its prices, and the trucks that keep its shelves full. That is a big part of why Māra plans year round, raises seedlings in the greenhouse through the cooler months, saves our own seed, and tracks stored food as well as fresh.
A carrot from our own raised bed. We know its whole journey because it never left the property.
Then the number. The guideline is five servings of vegetables a day. Four of us is 20 servings a day, which works out at roughly 520 kg of vegetables a year.
Year one target: 25 to 30% of that from our own garden. That is a number I can measure at the end of the season, which is the point.
The rules I set before anything was built
I have built enough systems to know the rules matter more than the features.
It runs on my own server. Māra is a plugin for OpenClaw, the open-source agent platform I run on my own server. It does not depend on any one AI company's app to keep working. If a vendor changes its terms tomorrow, the garden keeps going.
Cosmo runs it, I make the calls. Cosmo is my main agent. I talk to it, and it plans, records, and warns. When a routine or a schedule needs to change, Cosmo tells me and I make the change.
Read the sensors, never touch the pumps. Cosmo can read the weather station and the garden sensors. It cannot switch pumps, vents, or irrigation. Those stay in Home Assistant automations that I control.
No new apps. I see Māra through Cosmo, a dashboard in the OpenClaw app, and alerts on my phone. That is it.
What Māra does
It plans. A Northland crop table covers what to sow in trays, what to sow direct, what to plant out, and what to harvest each month, with soil temperature minimums. Every Sunday evening Cosmo sends the week's plan. In the morning it sends a message only when something is due. The maramataka sits on top as an optional moon guide. It is a general guide, and local maramataka varies by iwi.
It records. I talk to Cosmo from the garden: "picked 1.2 kg of beans from bed 3". That becomes a record in grams, servings, and dollars at the prices I set. Plantings, tray batches, observations, and photos all go in the same way.
It protects. Every spray and fertiliser goes in with its withholding period. Until that period is up, the bed shows "Do not pick" and Cosmo refuses to log a harvest from it. Non-spray options come first. This is the health goal turned into a rule.
It keeps a seed bank. Every seed lot has its source, generation, parent lots, number of parent plants, isolation method, and germination tests. It warns when a lot is past its viable life or due a germination test. It also warns when seed was saved from too few plants. Pumpkins need at least six parent plants for good genetic diversity. Save from three, and you will not find out until the plants get weaker a few generations down the line.
The seed bank keeps the source, history, and testing record for every seed lot.
It runs the greenhouse. Every tray on the flood tables is a batch. Māra shows days since sowing, germination against the rate expected for that crop, and the flood routine for the batch's stage. When something goes wrong, such as damping off in more than a set share of the cells, it says what to do in plain words.
It shares. When there is a surplus, Cosmo drafts a message for the neighbours or a GateShare listing for me to approve, then records what was given away.
It watches the conditions. Every 30 minutes it reads the weather station, the greenhouse temperature, soil moisture in the beds, trays, and grow bags, and the level of the tank that feeds the flood tables. It sends a phone alert for frost, heavy rain, strong wind, a hot or cold greenhouse, or dry soil.
The records follow the farmOS data model, the open-source standard for farm records, so nothing is locked into a format only I understand. Every night the data is exported to a private repository as plain tables.
The Overview: today's conditions first, then anything that needs attention, then the week's jobs grouped by kind.
The kids' tab
This is the screen I care most about.
Each child gets their own colour and their own crops. Every crop has a picture strip, seed, sprout, plant, food, with the current stage lit up. Underneath it says something a four-year-old understands: "About 12 sleeps until radishes are ready."
Each child gets their own garden job each week, and a big "We did it" button to press when it is done.
How it was built
I designed it with Claude Opus as the strategist and reviewer, then had the smaller Claude Haiku model build it in 21 small phases.
Each phase got a tight written spec. Haiku wrote the tests first, then the code, then a report: what was built, the evidence, and what is left. Opus reviewed screenshots of every screen at phone and desktop size and sent back fixes. Only then did each release go onto the server.
The lesson was a familiar one. A small model is reliable when the scope is tight and sloppy when it is loose. When a phase looked too big, splitting it fixed the problem faster than any amount of clever prompting.
The result is a plugin with more than 30 tools for Cosmo, eight dashboard screens, and close to 300 automated tests. None of the models that built it is needed to run it. It runs inside OpenClaw on my server.
What broke first
Plenty, and most of it was found by looking hard at real screens with a realistic season of test data in them.
Phone alerts did not work. The OpenClaw iPhone app does not support push notifications from the dashboard. I moved all alerts to Cosmo on Telegram, which I already use.
A safety rule blocked a legitimate harvest. In the test season, a seaweed feed logged on 5 January made Māra refuse a harvest dated 4 January, the day before the feed. The lock checked when the feed was safe, but not when it was applied.
The plan contradicted the lock. The weekly plan told me to harvest tomatoes from a bed marked do not pick.
Savings showed $0.00. Prices set after a harvest never applied, so the whole season was worth nothing.
The year split the season in half. Totals reset on 1 January, right in the middle of a New Zealand summer. The season year now starts on 1 July.
All of it was fixed and then every screen was redesigned. The moon guide was one small detail I enjoyed fixing. Most moon icons you see are drawn the Northern Hemisphere way round. Here a waxing moon is lit on the left, so that is how Māra draws it.

The moon guide, drawn for the Southern Hemisphere. Dots mark the kūmara planting nights.
Where it is now
Māra is live. The weather station, greenhouse, soil, and tank sensors feed it every 30 minutes, and Cosmo sends the weekly plan every Sunday.
This season is a pumpkin patch. Potatoes, corn, and kūmara sit out this year, and they will be back.
Still to do:
- Load the grow list and the seed collection, so the calendar and seed bank have real data in them.
- Add a soil temperature probe at 10 cm. The bed sensors read surface heat, which is no use for deciding when to sow.
- Add a temperature probe to the flood-table tank. Seedlings rot when the water runs warm, and I want a warning before that happens.
At the end of the season I will have the numbers: kilograms, servings, dollars saved, seed lots kept, and how close we got to 25 to 30%. Cosmo runs a seasonal review each quarter and recommends what to change. I decide what actually changes.
The next job is planting the pumpkin patch and putting the spare seedlings out at the gate.
Related reading
Mark Smith is Principal AI Counsel at Cloverbase. To discuss this article or work with me, contact me at Cloverbase.
More in Garden
Keep reading

Garden
Our first monthly aerial portrait of Āhuru Mōwai
We photographed every square metre of Āhuru Mōwai from the air. August 2026 is frame one in a monthly record of the land and everything growing on it.
3 August 2026

Garden
Rebuilding soil on a clay hillside
Six contour swales, three pioneer species, one degraded dairy paddock, and a winter nursery for bana grass. This is the next step in rebuilding soil at Āhuru Mōwai.
23 June 2026
