·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の出力は毎回微妙に形式が違うので、複数のパース戦略を用意して、どれかで成功するようにした。
学んだこと
- APIを組み合わせる力: 単体のAPIは限界があるけど、複数を組み合わせると強力
- キャッシュの重要性: 外部APIに依存するアプリは、キャッシュなしでは成り立たない
- AIの活用法: AIは分析ツールとして本当に優秀。生データを渡すと、人間には気づけないパターンを見つけてくれる
これから
このダッシュボードはこのブログに統合済み。/dashboardから実際に触れるので、ぜひ見てみてほしい。
次はReactに移植して、もっとインタラクティブにしたいと思っている。
「作りたいものがある」って最高のモチベーション。技術力がなくても、AIの力を借りれば意外と形になる。