A small web app that identifies any plant from a photo — built to learn what modern vision models can actually do, then left running in public because people kept asking for it.
Upload a photo of any plant and get back species, taxonomy, care instructions and — usefully — whether it is toxic to pets, formatted like notes from a patient botanist. No app store, no account. plants.rostad.cc
How it is built
Deliberately boring infrastructure, which is what makes it reliable: a slim Python API container and a static nginx frontend, wired together with Docker Compose behind a reverse proxy. The identification itself is Qwen vision (qwen3.8-max) with a hand-tuned system prompt that keeps the model in the role of a field botanist — precise, structured, no chitchat.
- Base64 image in, Markdown species sheet out — one endpoint, no framework bloat
- Rate limiting per IP, 10 MB image cap, CORS locked to the domain
- Config changes are bind-mounted files: edit, restart container, done — no rebuilds
What it taught me
Vision models are shockingly good at botany when you give them a job title instead of a question. The prompt needed more work than the code. The whole thing runs on the same home-lab box as everything else I host, which is the point: prove it on your own hardware before you sell someone an architecture.