iNaturalist Sightings
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
- Automate data collection via Git scraping
- Use JSON for web-accessible data
- Prioritize mobile-first development
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
- Combine multiple data sources
- Implement `loading=lazy` for images
- Use AI for code generation
Topics
- iNaturalist Sightings
- Git Scraping
- Python CLI
- Web Development
- Claude Code
Code references
Best for: Software Engineer, AI Engineer, Prompt Engineer
Related on AIssential
Editorial summary, takeaway, and curation by AIssential. Original article published by Simon Willison's Weblog.