iNaturalist Sightings

- 用 Claude Code 在手机上快速生成完整工具链,体现 LLM 辅助个人开发的新范式
- 采用 Git scraping 模式将动态数据静态化,兼顾可追溯性与部署简易性
- 纯前端 fetch + modal 展示方案规避后端依赖,适合个人数据小规模可视化
结构提纲
按章节快速跳转。
- §工具目标
聚合多个 iNaturalist 账号的观测记录,并按时空邻近性分组展示。
开发 inaturalist-clumper CLI 工具,支持按 2 小时/5km 规则聚类观测数据。
通过 Git scraping 将 clumps.json 提交至 GitHub,提供 CORS 可访问的静态 JSON 接口。
用纯 HTML/JS 实现懒加载缩略图与点击弹出高清图的交互逻辑。
全程在手机端使用 Claude Code 生成代码,验证 LLM 驱动个人工具开发的可行性。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- iNaturalist Sightings 工具链
- 数据层
- inaturalist-clumper CLI
- Git scraping → clumps.json
- 交付层
- GitHub raw CDN 托管
- CORS 友好静态接口
- 前端层
- fetch + lazy loading
- modal 图片查看器
金句 / Highlights
值得收藏与分享的关键句。
我 camping 这个周末所以完全在手机上用 Claude Code 构建了这个工具。
inaturalist-clumper 默认按 2 小时内、5 公里内观测进行‘clumping’(聚类)。
GitHub 托管的 JSON 文件天然支持 CORS,可被前端直接 fetch,无需后端代理。
prompt 明确指定:用 small.jpg 懒加载缩略图,点击后 modal 展示 large.jpg 并显示物种通用名。
Tool: iNaturalist Sightings
[Simon Willison’s Weblog](http://simonwillison.net/)
**Sponsored by:**MongoDB — Join MongoDB.local London 2026 on 7 May to learn how teams move AI from prototype to production.
1st May 2026

I wanted to see my iNaturalist 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 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 as a Git scraping repository to run that tool and record the result to 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 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 at 7:35 pm
Recent articles
- LLM 0.32a0 is a major backwards-compatible refactor - 29th April 2026
- Tracking the history of the now-deceased OpenAI Microsoft AGI clause - 27th April 2026
- DeepSeek V4 - almost on the frontier, a fraction of the price - 24th April 2026
This is a **beat** by Simon Willison, posted on 1st May 2026.
tools 60ai 1996inaturalist 9generative-ai 1769llms 1735claude-code 109
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!
问问这篇内容
回答仅基于本篇材料Skill 包
领域模板,一键产出结构化笔记论文精读包
把一篇论文 / 技术博客精读成结构化笔记:问题、方法、实验、批判、延伸阅读。
- · TL;DR(1 段)
- · 研究问题与动机
- · 方法概览
投融资雷达包
把一条融资 / 创投新闻整理成投资人视角的雷达卡:交易要点、判断、竞争格局、风险、尽调清单。
- · 交易要点(公司 / 轮次 / 金额 / 投资人 / 估值,材料未明示则写 “未披露”)
- · 投资 thesis(这家公司为什么值得关注)
- · 竞争格局与替代方案