iDentifi: An Identification Practice Tool Using the iNat API

Hi there!

I’m a software engineer with a love of nature, and I’m here to share a tool I’ve been working on, originally started for my own ID practice over the winter months.
I’m happy to say it’s finally in a state where I’m looking for feedback from folks who would potentially be interested in using it. a free tool using the iNaturalist API to quiz and practice your identification skills.

  • Filter by taxa, date, location radius (with geolocation), and by endemic or introduced species.
  • All practice observations are research grade, with links to the original observation.
  • Guess at several levels of taxonomy from phylum to species, using scientific or common names.
  • View collected stats on your success rate and your most/least known taxa.
  • Desktop, tablet, and mobile friendly.
  • It’s totally free and all stats/settings are stored locally in browser, so there’s no signup/login, you can jump right in.

The site is still in early open beta testing, but all features above have been implemented, & I have a contact form right on the site to easily gather any feedback from users on errors and potential improvements.
If you decide to check it out, I’d love to hear what you think, and what features a site like this would need to be useful to you.

I’d particularly like feedback on what directions/instructions would be helpful to new users, as I’ve been working on this long enough that it’s hard for me to tell what it would be like to use it for the first time :sweat_smile:

Thanks for reading!
– Mel


Oh boy, I like this a lot! It helps that I correctly identified my first challenge without any mistakes (it was Taxus brevifolia!). I really appreciate the fine-grain control you give users over the location here - I could imagine some designs limiting things by jurisdiction or other less granular lenses, and that would add a lot of problems. This is great!

Also, I have to commend you on the site design - it feels smooth and professional, and the theming is nicely complementary with iNaturalist’s theme.

And I really appreciate the warning that the images can contain dead animals - that’s very thoughtful. It would be nice to have an option to ignore observations where the organism is tagged as dead, but I understand that not everyone tags their dead animals, so such a filter wouldn’t be perfect; the warning would be good to have either way.

If I had any feedback for improvement, it would be regarding the time criteria. I would personally find it more useful if you let users specify a range of months and days, but not constrain it to a specific year. iNaturalist’s Explore search interface lets you do this already, by specifying months.

For example, I may want to identify things observed between March 1st and May 31st of any year, because I’m wanting to practice identifying springtime organisms. Looking at that range for a specific year like 2023 is fine, but looking at that range for all years provides a more extensive dataset for the practice data to be drawn from. I guess if you let us pick arbitrary days as well as months, February 29th might require some special casing, but hopefully that could be worked around.

It would also be cool if the advanced taxonomic filtering were just a bit more visually salient - I didn’t notice it existed for a bit, and at first thought we were limited to just picking between fungi, plants, and animals. Sometimes you really just need to practice identifying click beetles!

Oh, a special mode for animal tracks might also be useful. Or really, a way to identify based on specific “evidence of presence” DQAs. And an audio ID mode for animal calls, too!

But really, the fact that all my feedback is essentially “please add more cool things” should be telling. This is fantastic! I’m definitely going to bookmark this, and it feels like something I might want to share with folks who are interested in learning identification.


Cool! It might be helpful to include Subfamily as a level, as that can often be a good intermediate between figuring out family and getting to genus or species. I like that you can fill in a lower taxonomic level and it will automatically fill in the higher taxa.

Also, would it be too complicated to add a button similar to the Information/About buttons that would take people to the iNaturalist Explore page with that taxonomic level and geographic boundary? That way people can click on the Species tab and see what thei options are. One of the things that I don’t like about Metazooa, etc. is that a lot of times I’ll get to some “relatively” low taxonomic rank (e.g., a tribe or subfamily) and get stuck trying to figure out which species I know are in that subgroup and are in the game’s system. So being able to pull up a species bank for iDentifi seems like it would cut down on frustration, as well as modeling how most people will work through figuring out a species they don’t know: pulling out a field guide or iNaturalist and checking which species look similar and are in the right area.


the tool is fine, but i don’t understand why folks wanting to practice their identification skills wouldn’t just identify within iNaturalist.


This is great! I’m having fun with it. I’ll come back in a while once I’ve got some feedback.

Thanks for making this. :)

Edit: not sure if this is a network issue on my side, or if it’s even something to ‘fix’ – but when typing in a name, it loads somewhat slowly, enough to lose your momentum a little. But aside from that I haven’t noticed anything.

1 Like

Well, here, the identification has already been confirmed, and you can’t see anybody else’s input to influence you. On iNat, if it’s not been identified already, you’d not be sure if you were right or not immediately – so it’s a lot more helpful in that regard to know how you’re doing.

There are lots of reasons.


Nice! I would appreciate to practice on any region (not just surrounding me). For example to practice before travelling to another country. Oh, and I’d also appreciate subfamilies!

It would also be nice to be able to practice a specific thing: For example, “I want to practice monocot families”. The Algorithm would then not select random monocots, but instead make sure that there is high diversity at the family level. Otherwhise, some families would show up rarely as most observations focus on just a few abundant families. Personally, I’d like to practice weevil tribes of the world!


if this is what you want, there are ways to achieve this in iNaturalist itself.

i think this new tool is fine just as a coding exercise, but i think it would be better to direct identifiers and aspiring identifiers to iNaturalist itself (to actually identify), rather than to some other thing.


I love it!
I really wanted a tool that let me identify iNat observation without seeing other users IDs, and without messying iNat with IDs of which I am not sure.
And it will be suuuper useful for classroom ID practice.

I would love other languages, at least for displayed names. Now, I can write italian names and it recognizes them, but still displays english names.

I think the button “Try another”, or something similar, should appear also when you guess some level before the species: sometimes it’s nearly impossible ID at species level, and I can be satisfied with higher level.

I think the “View iNat observation” button should appear also on “You’re right” popup, along “View Wiki page” button.


For sure, there is also the blind=true option:

But I often find these ways too tricky or, for the blind=true option, not immediate to see the “correct” answer. And most important, if you add an ID on iNat, you add an ID on iNat. Sometimes I feel too unsure to add an ID, but I still want to practice; and more often I want to practice with my classroom in IDing, but they’re way too inexperienced to let them add ID directly to iNat.

And this tool has link to original iNat obs, so if someone feels confident with his ID, he can open the link and add the ID to iNat obs.


Thanks so much for the feedback, those are some really good points and ideas!
I originally wanted the date filter to be less restrictive, but I realized that the API only lets you query with a single start and end date, so disregarding the year it would be a bit more complicated coding-wise (but is on my to-do list!).

1 Like

Thanks for the feedback! I did have to implement throttling on the text boxes so as to not ping the iNat API too much and get rate limited (at that point all requests just error for a bit until it resets), but I’ll be experimenting with the throttling amount to see if I can lower it without going over the request limit, because I agree!

I appreciate the feedback, this tool is definitely more oriented towards newbies, I’m relatively new to iNaturalist myself and I found myself nervous to make incorrect identifications that someone would have to later go fix, so I wanted to work on a way to quiz myself with confirmed research-grade observations around me, so it’s more of a tool for fun & practice with no additional pressure. I’ll admit, I really had no idea how to use iNat in a “quiz” mode, I’m primarily a mobile user :sweat_smile:

I do want it to be closely linked because I think iNat is amazing and I want to encourage people to participate, if you have any recommendations for ways to change the UI/process to direct users to iNat, I still think having an interface specifically for simplifying the quizzing process has some value.


You can actually change the location searched by moving/zooming the map around (and the radius will move with it), and there is a location autocomplete that can re-center the map on a given location, but I will need to indicate that somewhere because it definitely isn’t clear, thank you for taking a look!

I might put in 3 IDs - then when I have settled on The One, I will go back and delete the others. My learning curve is messy for other identifiers, and the observer. (I won’t delete a previous ID if there has been discussion / engagement around it) I will also leave my wrong ID if it is a reasonable choice for Similar Species - not sure if this is A or B.

Filter by location - but I want to set that myself.
I have location switched off.


Love it. Will use it when I’m about to extend my taxa list for IDs.

To those who think we should rather ID in iNat: I will use it when I am still unsure about my knowledge of a taxon. I think this tool will actually make it quicker to gain confidence, so it will help me ID sooner than without it.


I largely agree on the importance of “real” IDing, but with two caveats:

  1. I can see this as quite valuable for a classroom/training exercise for very new iNatters to learn how the system works and gain confidence. I think a lot of folks never start IDing because they are so worried about being wrong. A tool like this could help them gain confidence and demystify the ID process and increase the number of IDers in the long run.

To increase the chances of this, it might be nice to have some type of button/link that will take users to an Identify session for whatever taxa and filters they have applied. So if they feel good about how IDing is going, they can easily start doing it “for real” on iNat itself. This could make a nice transition in training sessions as well

  1. I think established IDers are experienced enough to know what works for them and if they want to use the tool (and not do official IDing on iNat). Maybe they want a low stakes break, maybe they want to learn a new taxon, maybe having the IDs not count reduces the activation energy to get them IDing, maybe they want to do a quick competition, whatever. So I don’t think this would take away from real iNat IDing, and I think experienced users will find good ways to use it.

the iNaturalist workflow works by allowing identifiers to identify to whatever level they are able to identify.

on the other hand, the workflow in this new tool sets the expectation that you must guess a particular species to win or to even move onto the next thing, and i would think that would make new identifiers potentially even more fearful of making actual identifications in the system.

a bet a lot of folks never start identifying because they interact with iNaturalist solely using the apps – 2/3rds of observations are created via app – and there’s not a dedicated identification module in the apps, and the web identification screen doesn’t work well with mobile. if someone wanted to make a mobile-friendly identification page, i’d support that wholeheartedly. here’s the concept that i would use to approach that:


Looks like a great tool, but as someone who’s fairly paranoid about internet privacy, I ran into a couple of problems. First, I almost never allow a site to use my location data, which your site immediately asks for. My main browser is Firefox customized with lots of privacy settings, which was not able to correctly render the site (my customized Firefox also causes problems with iNat, e.g., all the suggested IDs are bats [no, I’m not making this up]). The only other browser I have installed right now is Safari, which as you warn did not render things correctly. At this point I gave up. I did not get far enough to check your privacy policy. One other comment: I didn’t see a cookie warning, so presumably this site is not yet in compliance with EU web privacy regulations. But what I did see looked fabulous, and maybe this is something iNat could think about integrating – the current instructions for using iNat as a quiz tool are not exactly user-friendly, certainly not as user-friendly as your UI. Thanks for taking the time to work on this, great project!

1 Like