iNaturalist Sightings

· Source: Simon Willison's Weblog · Field: Technology & Digital — Software Development & Engineering, Artificial Intelligence & Machine Learning, Data Science & Analytics · Depth: Intermediate, quick

Summary

Simon Willison developed "iNaturalist Sightings," a web tool designed to group and display iNaturalist observations from multiple accounts based on their temporal and spatial proximity. The project involved creating a Python CLI tool, `inaturalist-clumper`, which fetches observations and clumps them if they occur within 2 hours and 5km of each other. This tool is integrated into a Git scraping repository, `simonw/inaturalist-clumps`, which regularly updates a `clumps.json` file hosted on GitHub. The final web application, `inat-sightings.html`, uses JavaScript to fetch this JSON data and display observations with `small.jpg` thumbnails, enabling users to view `large.jpg` images in an HTML modal upon clicking, along with common species names.

Key takeaway

For developers building personal data aggregation tools, consider using Git scraping to automate data updates and host JSON files for easy web access. Your projects can benefit from AI-assisted development, like using Claude Code for web, to rapidly prototype and build applications entirely on mobile devices, streamlining your workflow and enabling quick iteration on ideas.

Key insights

A web tool aggregates iNaturalist observations from multiple accounts, grouping them by proximity.

Principles

Method

The method involves a Python CLI for data clumping, Git scraping for automated JSON updates, and a JavaScript front-end to fetch and display the data with interactive image modals.

In practice

Topics

Code references

Best for: Software Engineer, AI Engineer, Prompt Engineer

Related on AIssential

Open in AIssential →

Editorial summary, takeaway, and curation by AIssential. Original article published by Simon Willison's Weblog.