·4 min

趣味で地政学ダッシュボードを作った話

テックOSINTプロジェクト

Palantir AIPのデモを見て「これ、自分でも作れるんじゃない?」と思ったのが始まりだった。結果として、かなり本格的なダッシュボードが完成した。

何を作ったのか

GeoIntel Dashboard — リアルタイムの地政学インテリジェンス・ダッシュボード。以下の機能を搭載している:

  • OSINT フィード: X (Twitter) のOSINTアカウント8つをリアルタイム監視
  • AI 分析: Claude APIを使った地政学リスク評価と情勢ブリーフィング
  • ニュース集約: NewsAPIから地政学関連ニュースを自動収集
  • 株式市場モニタリング: S&P 500、日経225、原油、金、防衛関連株など
  • 衛星データ: NASAのFIRMS(火災情報)で紛争地域の異常検知
  • YouTube分析: 主要ニュースチャンネルの最新動画を追跡
  • ナレッジグラフ: 国家・組織・事象の関係をグラフ可視化

技術スタック

フロントエンドはピュアHTML/CSS/JS、バックエンドはNode.js (Express)。フレームワークに頼らず、シンプルに作った。

使ったAPI:

  • X API v2(OSINT情報収集)
  • Anthropic Claude API(AI分析エンジン)
  • NewsAPI(ニュース収集)
  • Alpha Vantage(株式・コモディティデータ)
  • YouTube Data API v3(動画追跡)
  • NASA FIRMS API(衛星火災検知データ)

全部で1,500行以上のサーバーサイドコードと、30以上のAPIエンドポイント。趣味プロジェクトにしてはかなりの規模になった。

一番大変だったこと

APIのレート制限との戦い。特にX APIは無料プランだと制限が厳しいので、キャッシュ機構を実装して、同じリクエストを何度もしないようにした。

あと、Claude APIのレスポンスをJSONとしてパースする部分。AIの出力は毎回微妙に形式が違うので、複数のパース戦略を用意して、どれかで成功するようにした。

学んだこと

  1. APIを組み合わせる力: 単体のAPIは限界があるけど、複数を組み合わせると強力
  2. キャッシュの重要性: 外部APIに依存するアプリは、キャッシュなしでは成り立たない
  3. AIの活用法: AIは分析ツールとして本当に優秀。生データを渡すと、人間には気づけないパターンを見つけてくれる

これから

このダッシュボードはこのブログに統合済み。/dashboardから実際に触れるので、ぜひ見てみてほしい。

次はReactに移植して、もっとインタラクティブにしたいと思っている。


「作りたいものがある」って最高のモチベーション。技術力がなくても、AIの力を借りれば意外と形になる。