Plant identification tool using iNat taxa

Hi,

Last year I took a dendrology course in southeastern North America that required students to identify many species of local plants. To help with the learning process, I vibe-coded a tool that collects images from iNaturalist observations and quizzes you on their latin name, common name, and family. It was never fully polished so I welcome PRs.

The demo is here:

https://lostbombus.github.io/plant-id-quiz/

And the source code is available here:

https://github.com/lostbombus/plant-id-quiz/tree/main

I’d be careful with common names—several of those species have various, widely used common names. This makes quizzing on common names tricky.

Also, it looks like you might be pulling some images from iNat that are not licensed for this purpose, so double-check that you’re only pulling photos that allow use for this sort of thing.

i don’t understand the point of something like this. i don’t see how this offers a better learning workflow than just identifying observations in iNaturalist.

In the class it was important to identify the names of a plant and its family based on morphological features. This tool shows images from research-grade observations to test the user’s knowledge about the names/family using just images. You can’t really get that just identifying in the iNat user interface.

Being a really annoying pedant, I can’t help but point out that the plural of taxon is taxa. Sorry.

Fixed!

it’s not that serious. they’re not building a banking app or a system to keep national secrets.

A site that is built with vibe coding by someone with no coding experience is potential security threat to anyone who visits the site.

The OP is asking for PRs. A malicious hacker can submit a PR with malicious code. If the OP accepts the PR without fully understanding the code, the malicious code will be merged into their app. Anyone who uses the website will be then have the malicious code on their computer.

The web app itself is not a security concern, in my opinion. The only real danger would be the locally-executed scripts that collect the observation data and generate the static files. That would only affect users who download the code and execute it. At that point, the user is responsible for understanding the code they run locally.

The way it works is you provide the CSV with data for each species. You specify the latin name, common name and family name that you want to test for. I know common names are unreliable but the scripts allow you to provide that yourself. Same for latin names and families. some people may want Acer in Aceraceae. Or Cornus florida in Benthamidia. It’s up to the user who generates the quiz page. The CSV has an optional column for Taxon ID if the name doesn’t directly correspond with iNat’s taxonomy.

Thanks for pointing this out. I want to address this when I can. If you see any images in particular that I’m violating I will gladly remove them if you point them out in the issues