PlantLab (https://plantlab.ai) - AI plant health diagnosis for cannabis. It's an API, not an app [1]. Photo in, structured JSON out - condition, confidence, growth stage, nutrient lockout analysis. The response is for machines. Light burn at 0.92 confidence? Your controller dims the light. Calcium deficiency with excess potassium flagged as the lockout cause? Dosing pump adjusts.

I'm a software dev/data nerd, not a grower. I got interested because cannabis grow rooms are already full of automation - VPD controllers, pH/EC monitoring, dosing pumps, dimmable lights. But nothing was looking at the plant. Every sensor in the room measures the environment, not whether the plant is actually doing well. I wanted to add the eyes. And this seems to be a bound domain issue (i.e. limited number of issues/conditions/pests vs. all plants everywhere).

ViT-based multi-stage pipeline that verifies it's cannabis, classifies condition or pest, then runs nutrient subclassification if needed. 30 classes, 18ms inference, Go API, ONNX Runtime. Trained on a little over a million images from grower friends. Classification was 80% of the lift. I also shipped a Home Assistant integration - camera takes a scheduled snapshot, PlantLab diagnoses, HA acts on the result. No human involved.

Recently the part that's been the most fun is the autoresearch loop. Between training runs the system looks at its own confusion matrix, finds which classes it's mixing up, audits those training images for bad labels, and tells me what to fix. It's not fully autonomous yet but it's getting there - the model is increasingly debugging its own training data.

Solo project, <100 users, free tier is 3/day.

[1] I built a simple Android app for those who want to just try it out, it's on Google Store. Probably will make one for iOS too as time allows. https://play.google.com/store/apps/details?id=com.plantlab.p...

Such a great idea. It's nice that with cannabis, despite there being so many cultivars, it's such a large industry based around essentially one plant. And while some varieties can look quite different, I think your API should generally be effective.

I've been thinking about similar systems for tissue cultures but I can't seem to find a way to generalize and still get good training data or effective results. Once you lose track of white balance, species, optical clarity and distortion from the vessel, etc... Results decline quite a bit in my experience. It makes it a neat yet fairly useless system outside of itself.

Granted, I have no idea what I'm doing and these could be solvable problems. Certainly much easier to solve by focusing on a single species.

I'm impressed with how well it classifies based on the image examples. A little over a million images is probably what makes it possible. My experiments have been much smaller. Maybe with more material I could overcome those limitations I mentioned, but I have a feeling the multi-species pipeline really drags it down.

Have you found that light temperature no longer skews feedback after so much training data? For me it really matters, causing classification to confuse light sources with actual plant condition (hence the colour card for white balance helping so much)

Thanks! Yeah, the single-species focus does a lot of the work. Under the hood it's not one big model - there's a cannabis verification gate, then routing into disease vs pest vs deficiency, then narrower classifiers from there. Each one has a simpler job so accuracy stays high.

Early on the photography thing was a real problem. Training data was mostly decent shots, then inference would come in as some blurry phone photo under purple LEDs.

Confident misclassifications. The fix wasn't clever - just more data that looks like how people actually take photos of their plants. Messy, badly lit, half the leaf out of frame. Once there was enough of that in the training set the models stopped caring about white balance. About 1.1 million augmented images now and light temperature just isn't a factor. No color card needed.

For tissue culture - I'd bet the multi-species part is what's killing you. I'd pick the single highest-value species, collect a probably-uncomfortable amount of well-labeled data for just that one, and see if things change. Right now you might not be able to tell what's a data problem vs a fundamental limitation, because the generalization overhead masks both.

> there's a cannabis verification gate, then routing into disease vs pest vs deficiency, then narrower classifiers from there. Each one has a simpler job so accuracy stays high.

That never occurred to me. That's a great insight.

> I'd pick the single highest-value species, collect a probably-uncomfortable amount of well-labeled data for just that one

I think you're right. If I want to move forward with it I think it's the only feasible way to validate a proof of concept. Generalizing can't produce a useful tool at my scale.

Thank you! I think this was a helpful nudge. Narrow classifiers could make some things a lot easier. Do you know of any reading materials about routing like this? Is it just programmatic decision tree stuff, or is there something more clever I'm unaware of?

Glad it helps. As for narrow classifiers, it's decision tree logic as you say, and best done via trial and error than over-engineering and theory. Cleverness comes from your own experience :)

I'd love to use this for not cannabis things. I'm looking at building a greenhouse soon, and having this kind of automation for tomatoes or carrots would be dream-like.

That's the idea - hence PlantLab, not CannaLab. Cannabis makes sense as the entry point because it's a cash crop with a big hobbyist scene, so there's enough interest to get real usage data early. But the goal is broader - tomatoes, grapes, whatever grows.

One crop at a time though. A so-so classifier across 50 species is way less useful than a really good one for the thing you're actually growing.