Retiring into Edge AI (and a grow tent)
Notes on retiring from a software career — and building an AI device for my grow tent that keeps everything in the house.
The dichotomy
This year, it became time for me to retire from my lifelong career in software development. Like most things, the situation was a dichotomy: I was tired of task lists and meetings and schedules and difficult people; but at the same time, I was having more fun making software than I ever had in my entire life, because of AI.
I’m one of those software developers that doesn’t fear being replaced by AI — it can’t, I’m retired; if I were a recent college grad I might see it differently. To the contrary, I’m very grateful that code generators want to do the boring part of my job: writing the actual code. I was so conflicted I couldn’t just walk away from software development during this moment, so I quit my job but didn’t quit making systems.
The realization
Growing cannabis is a hobby of mine, and now in retirement I’d like to take the time to refine my craft. By now the same realization I had is hitting you — I could use AI to grow weed!
Now, there are some web sites out there with AI baked in that’s supposed to help you in the same way. But those sites are in the cloud, and you have to upload your data to them before they can process it.
The build
So in my retirement I decided to learn Edge AI, so that I could create a device that would analyze my grow in real time without ever loading images or other data to the internet. I live in a state where growing is legal, but still not at the federal level.
I worked up a small device that works only on the local LAN, reads from cameras and sensors inside the tent, and performs an ongoing analysis — with diagnosis of deficiencies, pest detection, disease, and stress conditions. I also taught it to react to events like going from seedling to veg, the flip to 12/12, and so on, dispensing best-of-breed advice I collected from the published literature — a controlled-environment cannabis textbook and the peer-reviewed papers around it, each claim kept next to the source it came from.
The first grow
Running the first grow through it now. It didn’t take over the world, but I did have lots of corrections for it. It did hold the air right on target while the plant got sick anyway — which taught me more than a clean run would have.
Newest: The model was fine — three weeks of a health check refusing a healthy plant, and the color-correction step that changed what the model was shown.
Newer: The chatbot was never in the tent — a chatbot gets one photo and a memory; the box is in the tent, measuring the leaf, writing everything down, and wrong sometimes, on the record.
Newer: The growers are right about the chatbots — the four complaints growers make about AI grow advice, what an experienced grower does that a chatbot does not, and what a source and a procedure look like on the box.
Newer: The camera called it female, ten days late — the pistil check’s first day: seven hourly sightings, and the hub wrote the plant’s sex into the record on its own.
Newer: The best picture was already on the machine — the camera had the pixels to show a plant’s sex, and three resizes threw them away before the screen or the model got them.
Newer: The AI said foxtailing. Three growers said nothing was wrong. — a chatbot named a disease on a healthy plant, our own camera missed a real one 174 times, and what the assistant on the box is allowed to say instead.
From the build: In band, and sick anyway — nine humid days gave the first grow an iron deficiency while it sat inside the target my own device was holding for it.
From the build: The NPU didn’t make it faster — what moving the language model onto the RK3588’s NPU actually bought, measured rather than assumed.
From the build: Trained on close-ups, served whole plants — how the on-device classifier was built, what the bench said, and why the device now says “worth your eyes” instead of naming a problem.
From the build: The $0 AWS bill — three months of a zero invoice, a database with no clients paying 81% of the spend, and the secret Terraform never knew about.
From the build: The log that wrote into nothing for three weeks — a nightly rsync unlinked the file the hub had open, every write kept succeeding, and the tell was one
lsnobody had run.From the build: Not a chatbot: what the assistant is allowed to say — a cited knowledge pack, the hub’s own readings, a guardrail that checks the answer afterwards, and the day the rule was so strict it looked broken.
From the build: The rules the code has to follow — a species-ignorant kernel, the architecture enforced as tests, the founder’s rule on nulls, one writer to the repo, and a pipeline that fixes red first.
From the build: The parts we cannot buy — a board its maker will not ship here, a sensor channel that closed the day after we left it, and why the chip matters and the board does not.
From the build: The AI drew the parts. A human made them fit. — the unedited record of what our AI coding agent got wrong on the enclosures, and the person at the bench who caught each one.
From the build: The model said it fit — how the enclosures are designed as code and printed in PETG, and what parts that passed every check and failed in the hand taught us about checking.
On the business of it: The market opened. The megaphone didn’t. — home growing is legal for more people every year, and reaching any of them is the harder half.
On the design: A register and a diary — why the Grow page and the camera record look nothing alike, and what a display style claims about its data.
Curious about the device itself? It’s at croplock.com. If you’d like to follow along — and hear when it’s ready — join the waitlist.