Simon Willison Builds iNaturalist Sightings App Using Claude Code
Simon Willison created a web app called iNaturalist Sightings to view his iNaturalist observations from two accounts grouped by time and location. He built the entire project on his phone using Claude Code for web while camping. First, he developed a Python CLI tool called inaturalist-clumper to fetch and "clump" observations, defaulting to clumps within 2 hours and 5km of each other. Then he set up a Git scraping repository (simonw/inaturalist-clumps) to run the tool and record results to clumps.json, hosted on GitHub for CORS access. Finally, he prompted his simonw/tools repo to build inat-sightings.html, which fetches the JSON and displays observations with thumbnails using small.jpg URLs with lazy loading, and opens large.jpg in an HTML modal on click. The app shows common species names when available. Willison posted about this on 1st May 2026, offering a curated email digest of LLM developments for $10/month sponsors.
Key facts
- Simon Willison built iNaturalist Sightings app using Claude Code for web on his phone while camping.
- The app groups iNaturalist observations from two accounts by time and location.
- He created a Python CLI tool called inaturalist-clumper for fetching and clumping observations.
- Default clumps use observations within 2 hours and 5km of each other.
- He set up a Git scraping repository simonw/inaturalist-clumps to run the tool and record results.
- The JSON file is hosted on GitHub for CORS access.
- The app uses small.jpg URLs for thumbnails with lazy loading and large.jpg in a modal on click.
- Common species names are displayed when available.
- Posted on 1st May 2026.
- Sponsorship of $10/month offers a curated email digest of LLM developments.
Entities
Institutions
- iNaturalist
- GitHub
- Claude Code
- simonw/inaturalist-clumps
- simonw/tools