RC RANDOM CHAOS

Building an iNaturalist sightings viewer on a phone with Claude Code

· via Simon Willison

Original source

iNaturalist Sightings

Simon Willison →

Simon Willison wanted to view observations from two iNaturalist accounts grouped by time and location, and built the entire tool from his phone while camping. The pipeline has three pieces: a Python CLI called inaturalist-clumper that fetches observations and groups them by proximity (default 2 hours, 5km), a Git scraping repo that runs the tool on a schedule and commits the results to clumps.json, and a static HTML viewer that fetches that JSON via CORS from raw.githubusercontent.com.

The viewer itself was generated by a single prompt to Claude Code, asking for a page that lazy-loads small thumbnails from iNaturalist’s CDN, opens larger images in a modal on click, and surfaces common species names. The result is a workflow with no backend infrastructure: GitHub serves as both the scheduled job runner and the data host, and the client-side app pulls everything directly. It’s a compact demonstration of how LLM-assisted coding plus Git-based data hosting can replace what would traditionally need a server stack.

Read the full article

Continue reading at Simon Willison →

This is an AI-generated summary. Read the original for the full story.