Skip to content

How it works

How Pocket Botanist works.

The numbers we publish, where they come from, and how to think about them. Pocket Botanist is an honest app and this page is how we keep ourselves honest.

Species coverage: 412,000

The figure of 412,000 species is the approximate number of taxa the identification model can return with reasonable confidence, including all major plant groups: flowering plants, conifers, ferns, mosses, lichens, and fungi.

For context, the canonical reference for vascular plants is the World Checklist of Vascular Plants (WCVP), maintained by the Royal Botanic Gardens, Kew, which currently lists roughly 350,000 accepted species. Our coverage extends beyond vascular plants into fungi and non-vascular taxa, and includes a long tail of synonyms, regional names, and commercially important cultivars, which is what gets the total to ~412,000.

Coverage is densest where training data is densest: common houseplants, garden ornamentals, agricultural crops, and the flora of temperate North America and Europe. It thins out on obscure tropical species, recently described taxa, and regional flora with limited photographic records online.

Identification speed

The "about a second" figure on the home page refers to the median round-trip time from when you press the shutter to when the result appears, measured across recent production traffic on a typical 4G or Wi-Fi connection. Slower connections, very large photos, or busy network conditions can push that out to a few seconds; offline (the camera and collection work, but identification needs a network round- trip) is the one case where the figure does not apply.

The breakdown of that second: photo resize and compression on-device (around 100 to 200 ms), upload to the model API (200 to 500 ms depending on network), model inference (200 to 400 ms), and return to the device (similar to upload). We do not run the model on-device; that decision is explained below.

Accuracy and the confidence figure

Pocket Botanist returns a confidence figure with every identification, on a 0 to 100 scale. The number represents the model's own estimate of how likely its top answer is to be correct, given the photo. It is not a rigorous statistical probability, but in practice it is a useful proxy:

  • 90 to 100: very high confidence. The species is common, the photo is clear, and the result is almost always right.
  • 70 to 90: high confidence. The species is well-represented in the training data and the photo is reasonable, but the model can still confuse near-identical species at this level.
  • 50 to 70: moderate confidence. Either the photo is ambiguous (single leaf, poor light, partial view) or the species has very similar look-alikes. We show the top answer and the two most likely alternatives.
  • Below 50: low confidence. The model returns its best guess and explicitly flags that it is not sure. We would rather be honest than confident.

We do not publish a single "accuracy percentage" because the number depends so heavily on the kind of plant, the kind of photo, and the conditions. Accuracy on a clear photo of a common houseplant in good light is very high. Accuracy on a single leaf of a near-identical pair of wild species in poor light is much lower.

Reference taxonomies

Species names follow the World Checklist of Vascular Plants where possible, with the GBIF backbone taxonomy as a secondary reference. For common names and regional usage, we lean on iNaturalist's community taxonomy. When taxonomies disagree (which they sometimes do, especially after recent genus revisions like Sansevieria moving into Dracaena), we prefer the most recent peer-reviewed classification and note the historical name where it is still in wide use.

How diagnosis works

The diagnosis feature uses the same model with a different prompt. We send the photo and a brief context (species, if known) and ask the model to identify visible symptoms, rank likely causes by probability, and suggest the smallest- footprint correction first. Diagnosis returns a written explanation rather than a categorical answer because plant problems usually have multiple plausible causes.

The smallest-correction-first principle is deliberate: it is easy to make things worse by jumping to fungicide or repotting when the actual fix is "water less" or "move to a brighter spot".

Why the model runs on a server

We considered an on-device model. On-device would mean offline identification, lower latency in some cases, and no network dependency at all. It would also mean a much larger app download (a useful on-device model is hundreds of megabytes), worse accuracy (small enough to run on a phone means smaller training capacity), and no way to roll out improvements without an app release.

We chose server-side for the same reason most plant ID apps do: it lets us use the best available model, ship improvements daily, and keep the app installer small. The cost is the network round-trip; the benefit is the ~412,000-species range.

When we are wrong

We get things wrong. The confidence figure helps you spot it, but it does not catch everything. If a result feels wrong, tap "this is not right" in the app to see the two next most likely candidates. See our FAQ and Privacy Policy for the data handling.

When this page updates

We update this page when the numbers materially change. Significant changes to coverage, latency, or model architecture get a dated note here. Day-to-day model improvements ship continuously and do not.

Sources and references

  1. Royal Botanic Gardens, Kew, "World Checklist of Vascular Plants." powo.science.kew.org
  2. Global Biodiversity Information Facility, "GBIF backbone taxonomy." gbif.org
  3. iNaturalist, "Curator guide: taxonomy." inaturalist.org