Goal of the tool:
The goal of this website is to provide Bar Charts (frequency of observations over the course of a year) for specified taxa. It’s inspired by how eBird does the same thing.
Niche it fills in the iNaturalist ecosystem:
You can already find histograms, or, alternatively, the most common taxa, in a given area with iNaturalist. But, as far as I can tell, you usually can’t do those things together, or in a user-friendly way (I don’t want to personally call the API with taxon_ids and place_ids every time! That’s annoying!).
Quoting myself in a previous post, “I think this is useful because I’m quite interested in knowing what to look for in places before I go there. Like, before I go unfamiliar places, I usually spend a week just surfing eBird to know what to look for.”
Maybe it comes down to the fun I had working on this, but I also found that in using it, I learned the common insects in my area, and then I started being able to use that knowledge better in the field. Like, I ID’ed this ant in the field recently and it was mainly because I had been testing the app on common ants. Similarly, I’ve been sorting moths by frequency in September (the current month) and have been ID’ing moths way more easily because of it. Next year, I’m excited to do a “big year” type thing where I continually hide the species I’ve already seen and see how far down on the bar charts I can get.
Anyway, I don’t think this will change the world or anything, but I do think that this sort of thing is important because it’s fun to tick off species and see what’s around and so forth.
Is there a commercial component, or do you plan into include one in the future? Are donations requested? (yes/no, explain):
No, of course not. This is in reality an excuse for me to learn to use an API lolll
What sort of data (if any) does your app collect from its users?:
I don’t store any data, but I will note that I hosted it on Streamlit. Streamlit says that the data isn’t permanently stored, but I don’t know for sure. Really streamlit is just a prettified version of my python script, “translated” into JavaScript/HTML, so it would surprise me if it stored anything permanently.
But I think that’s all moot anyway because the only vaguely personal thing you can input is your username, and in fact you could actually put anyone’s username in there (and I have, to make sure it would work even for people with thousands of observed species), it just calls the API’s life list function. You don’t need to sign in or anything.
Link to your iNaturalist profile:
https://www.inaturalist.org/people/ospreyj
Description:
A website to create bar charts, represented by a heatmap, of the most common taxa in a specific area.
Also I added in all sorts of little fun things that eBird can do, like hiding taxa on your life list, or year list, sorting by frequency in a given month, etc.
The input fields are: Taxon (e.g., spiders, lepidoptera, heteroptera, lemurs, etc.), number of results, what rank you want for results, what time period to sort the results for (Year-round? A specific month?), whether you want pictures, whether you want research-grade observations only (that option is only available if the results rank is species), whether to hide any taxa (e.g., life list, year list), and finally, the place in which you are interested. And then it will just output the bar chart (heatmap), with each cell representing one week!
Most common ants in October:
Frequency of Noctuidae in March v in October
Lepidoptera, but those I’ve already reported in iNat (e.g., Monarch, Tiger Swallowtail) are hidden:
Most common Lepidoptera species in Belize (with pictures so you know what to look for):
Most common families of ray-finned fish in California:
It also outputs a line chart if you prefer to look at these data this way:
(Mammals in Belize)
Discussion questions or areas seeking feedback:
So, if you look at this app, you can pretty clearly tell it was made by an amateur who knows a little python. I mean, the plots are blatantly just made with matplotlib. Of course there’s a lot I could improve.
One of my friends suggested that I make it so that you can select a bounding box, just like in “explore” in iNat itself. Would other people be interested in that?
I’m not 100% sure I have the month markers correct; the histogram data comes as numbers 1-53 (for each of the weeks of the year) and I just kind of had to guess from there. Actually in general I hope the month markers are easy enough to read.
If you use the photos, are they big enough? I tried to come up with a good compromise of good photo size that still fits into the graph; did I get the balance right?
I guess I want to move this off streamlit at some point onto my own website. I’m sure any number of people could do that for me or I could ask ChatGPT to do it, but I don’t want to do it like that because I’m a stubborn little git and I want to learn HTML/JavaScript and make it myself. If you have a nice little tutorial for, like React Aria or something, that would be appreciated!
edit: I just thought about a problem that I didn’t need to consider when it was just my friends and I using the app, which is that the requests from many users at once might get throttled. The script avoids it when it is just one person by sleeping for a second, but it might not work if many people try to use it. If you try it out, tell me if that happens!
Here is the link:
(I guess you could say the app is in a beta-type test phase, before I move it to its own website, which would probably take a couple months)







