October 8, 2026
Only flag an alternate guess when genuinely unsurebuild 11
The plant identifier's "could also be" second guess used to show up next to every result. Now it only appears when the top guess is below 50% confidence, so a confident match isn't cluttered with a low-odds alternative.
October 8, 2026
Cleaning up the training data, not just adding morebuild 10
Ran an outlier detector across the weakest crops' training photos and found real contamination: scanned herbarium specimens, a 19th-century engraving, a museum placard, and off-subject photos (a crop field with no fruit visible, a statistics chart) mixed into chili, oregano, and shallot's training sets. Removed them and retrained the full 4-model ensemble. Oregano jumped from 40% to 47% held-out accuracy — confirmed the contamination really was hurting it. Chili and shallot stayed exactly flat, which was itself useful: it confirmed those two need a different kind of fix (chili looks genuinely similar to pepper in photos; most of shallot's real photos are flower heads, not bulbs) rather than more data cleanup.
October 8, 2026
Fixing a real labeling bugbuild 9
Found that several crop pairs — onion/shallot, celeriac/celery, cherry-tomato/tomato, chili/pepper, broccoli/cauliflower — had the exact same source photo duplicated into both crops' training folders, literally teaching the model that one photo was two different things. Fixed the duplicates, fetched several hundred more photos for the crops that stayed weak across multiple retrains, and pushed held-out accuracy (tested on photos the model never trained on) from 68.4% to 73.5%.
October 7, 2026
Rebuilding the classifier from scratch
Switched the plant classifier from Create ML to a fully fine-tuned PyTorch model, since Create ML's frozen-backbone transfer learning failed outright past ~8,500-16,000 training images on this machine. Moved to a 4-model ensemble that averages each model's confidence per crop, hardened the data filtering to close a contamination path, and dropped ambiguous photo sources for crops that share the same scientific species name.
October 6, 2026
On-device plant identification
Added a Core ML plant classifier covering 21 fruit and nut crops, built a photo fetcher against iNaturalist to expand the training set, and added a true held-out evaluation harness — a fixed set of photos carved out before training and never touched again, so accuracy numbers reflect photos the model has genuinely never seen.
September 21, 2026
Garden Tracker begins
First build: an iPhone garden planner for iOS 27 — beds, plantings, and a daily checklist, with the app icon, name, and French localization in place.