---
title: "iNaturalist Sightings"
source_name: "Simon Willison's Weblog"
original_url: "https://simonwillison.net/2026/May/1/inat-sightings/#atom-everything"
canonical_url: "https://www.traeai.com/articles/3a518683-155d-41b2-9134-772013e9d666"
content_type: "article"
language: "中文"
score: 7.2
tags: ["iNaturalist","CLI","Git scraping","LLM","frontend"]
published_at: "2026-05-01T19:35:41+00:00"
created_at: "2026-05-02T01:35:18.943708+00:00"
---

# iNaturalist Sightings

Canonical URL: https://www.traeai.com/articles/3a518683-155d-41b2-9134-772013e9d666
Original source: https://simonwillison.net/2026/May/1/inat-sightings/#atom-everything

## Summary

Simon Willison 构建了一个轻量级前端工具 iNaturalist Sightings，通过 CLI 抓取 + GitHub 托管 JSON + 纯 JS 渲染，实现跨账号观鸟记录聚合与懒加载展示。

## Key Takeaways

- 用 Claude Code 在手机上快速生成完整工具链，体现 LLM 辅助个人开发的新范式
- 采用 Git scraping 模式将动态数据静态化，兼顾可追溯性与部署简易性
- 纯前端 fetch + modal 展示方案规避后端依赖，适合个人数据小规模可视化

## Content

Title: Tool: iNaturalist Sightings

URL Source: http://simonwillison.net/2026/May/1/inat-sightings/

Published Time: Fri, 01 May 2026 22:30:55 GMT

Markdown Content:
# Tool: iNaturalist Sightings

# [Simon Willison’s Weblog](http://simonwillison.net/)

[Subscribe](http://simonwillison.net/about/#subscribe)

**Sponsored by:**[MongoDB](https://fandf.co/4cNOQZL) — Join MongoDB.local London 2026 on 7 May to learn how teams move AI from prototype to production. 

1st May 2026

[![Image 1: A white crowned sparrow singing](https://static.inaturalist.org/photos/651590396/small.jpg)](https://tools.simonwillison.net/inat-sightings)

Tool[iNaturalist Sightings](https://tools.simonwillison.net/inat-sightings)

I wanted to see my [iNaturalist](https://www.inaturalist.org/) observations - across two separate accounts - grouped by when they occurred. I'm camping this weekend so I built this entirely on my phone using Claude Code for web.

I started by building an [inaturalist-clumper](https://github.com/simonw/inaturalist-clumper) Python CLI for fetching and "clumping" observations - by default clumps use observations within 2 hours and 5km of each other.

Then I setup [simonw/inaturalist-clumps](https://github.com/simonw/inaturalist-clumps) as a [Git scraping](https://simonwillison.net/series/git-scraping/) repository to run that tool and record the result to [clumps.json](https://github.com/simonw/inaturalist-clumps/blob/main/clumps.json).

That JSON file is hosted on GitHub, which means it can be fetched by JavaScript using CORS.

Finally I ran this prompt against my [simonw/tools](https://github.com/simonw/tools) repo:

> `Build inat-sightings.html - an app that does a fetch() against https://raw.githubusercontent.com/simonw/inaturalist-clumps/refs/heads/main/clumps.json and then displays all of the observations on one page using the https://static.inaturalist.org/photos/538073008/small.jpg small.jpg URLs for the thumbnails - with loading=lazy - but when a thumbnail is clicked showing the large.jpg in an HTML modal. Both small and large should include the common species names if available`

Posted [1st May 2026](http://simonwillison.net/2026/May/1/) at 7:35 pm

## Recent articles

*   [LLM 0.32a0 is a major backwards-compatible refactor](http://simonwillison.net/2026/Apr/29/llm/) - 29th April 2026
*   [Tracking the history of the now-deceased OpenAI Microsoft AGI clause](http://simonwillison.net/2026/Apr/27/now-deceased-agi-clause/) - 27th April 2026
*   [DeepSeek V4 - almost on the frontier, a fraction of the price](http://simonwillison.net/2026/Apr/24/deepseek-v4/) - 24th April 2026

This is a **beat** by Simon Willison, posted on [1st May 2026](http://simonwillison.net/2026/May/1/).

[tools 60](http://simonwillison.net/tags/tools/)[ai 1996](http://simonwillison.net/tags/ai/)[inaturalist 9](http://simonwillison.net/tags/inaturalist/)[generative-ai 1769](http://simonwillison.net/tags/generative-ai/)[llms 1735](http://simonwillison.net/tags/llms/)[claude-code 109](http://simonwillison.net/tags/claude-code/)
### Monthly briefing

Sponsor me for **$10/month** and get a curated email digest of the month's most important LLM developments.

Pay me to send you less!

[Sponsor & subscribe](https://github.com/sponsors/simonw/)

*   [Disclosures](http://simonwillison.net/about/#disclosures)
*   [Colophon](http://simonwillison.net/about/#about-site)
*   ©
*   [2002](http://simonwillison.net/2002/)
*   [2003](http://simonwillison.net/2003/)
*   [2004](http://simonwillison.net/2004/)
*   [2005](http://simonwillison.net/2005/)
*   [2006](http://simonwillison.net/2006/)
*   [2007](http://simonwillison.net/2007/)
*   [2008](http://simonwillison.net/2008/)
*   [2009](http://simonwillison.net/2009/)
*   [2010](http://simonwillison.net/2010/)
*   [2011](http://simonwillison.net/2011/)
*   [2012](http://simonwillison.net/2012/)
*   [2013](http://simonwillison.net/2013/)
*   [2014](http://simonwillison.net/2014/)
*   [2015](http://simonwillison.net/2015/)
*   [2016](http://simonwillison.net/2016/)
*   [2017](http://simonwillison.net/2017/)
*   [2018](http://simonwillison.net/2018/)
*   [2019](http://simonwillison.net/2019/)
*   [2020](http://simonwillison.net/2020/)
*   [2021](http://simonwillison.net/2021/)
*   [2022](http://simonwillison.net/2022/)
*   [2023](http://simonwillison.net/2023/)
*   [2024](http://simonwillison.net/2024/)
*   [2025](http://simonwillison.net/2025/)
*   [2026](http://simonwillison.net/2026/)
