iNaturalistの目撃情報

Simon Willison's Blog / 2026/5/2

💬 オピニオンDeveloper Stack & InfrastructureSignals & Early TrendsTools & Practical Usage

要点

  • 著者は、2つのiNaturalistアカウントにまたがる観察記録を「いつ起きたか」でまとめたいとして、閲覧用の1ページアプリを作成しました。
  • inaturalist-clumperというPythonのCLIを作り、観察データを取得してデフォルトでは「2時間以内かつ5km以内」の範囲で“clump(かたまり)”にグルーピングしています。
  • そのclumping結果はGit scrapingリポジトリ(inaturalist-clumps)で生成され、clumps.jsonとしてGitHubに公開され、CORSによりブラウザ側から取得できるようになっています。
  • Claude Code for webを使い、inat-sightings.htmlを作るようプロンプトして、clumps.jsonをfetchし、小さなサムネイルで全観察を表示し、クリックするとモーダルで大きい画像を表示する仕組みにしました。
  • この流れは、データスクレイピング、GitHubでのJSON公開、軽量なフロントエンドを組み合わせ、キャンプ中のスマホでも観察を可視化できるようにしています。
スポンサー: MongoDB — 5月7日に開催されるMongoDB.local London 2026で、AIをプロトタイプから本番環境へ移行する方法をチーム視点で学びましょう。

2026年5月1日

鳴いているノドジロウソのような白い冠羽のスズメ目の鳥

iNaturalistでの自分の観察記録を見たかったのです。2つの別々のアカウントにまたがる観察記録を、「いつ行われたか」でまとめて表示したかった。今週末はキャンプなので、Claude Code for webを使って、スマホだけでこの仕組みを全部作りました。

まず、観察記録を取得して「束ねる(clumping)」ためのinaturalist-clumperというPython CLIを作りました。デフォルトでは、clump(束)は互いに2時間以内かつ5km以内にある観察をまとめて作ります。

次に、そのツールを実行して結果をclumps.jsonに記録するために、simonw/inaturalist-clumpsGit scrapingのリポジトリとしてセットアップしました。

このJSONファイルはGitHubでホストされているため、JavaScriptはCORSを使って取得できます。

最後に、simonw/toolsリポジトリに対して、次のプロンプトを実行しました:

inat-sightings.html を作成する。https://raw.githubusercontent.com/simonw/inaturalist-clumps/refs/heads/main/clumps.json に対して fetch() を行い、https://static.inaturalist.org/photos/538073008/small.jpg の small.jpg URL をサムネイルとして使って、全ての観察を1ページに表示する。サムネイルには loading=lazy を付ける。ただし、サムネイルをクリックしたら HTML のモーダルで large.jpg を表示する。利用可能な場合、small と large の両方に共通種名を含める

2026年5月1日 19:35 に投稿

これは Simon Willison による beat で、2026年5月1日 に投稿されました。

tools 60 ai 1996 inaturalist 9 generative-ai 1769 llms 1735 claude-code 109

月次ブリーフィング

$10/月でスポンサーになり、今月の最も重要なLLMの動向を厳選したメールのダイジェストを受け取ってください。

あなたに送る量を減らすためにお金を払ってください!

スポンサーになる&購読する