Figma検索アプリをがClaude Codeで作った話

数百件のFigmaファイルを横断検索できるReactアプリを、Claude Codeだけで構築しました。技術選定からAPIトラブルまでの全記録。

課題:Figmaファイルが多すぎて見つからない

日々増えていくFigmaファイル。プロジェクトもファイルも数百件規模になると、「あのデザイン、どこだっけ?」という問いに、毎回Figmaのサイドバーをスクロールして探すのは時間コストがかかり過ぎていました。

WordPress で管理していたポートフォリオサイトもありましたが、検索性が低く、更新も面倒。もっと速く、直感的にファイルを探せる仕組みがほしい。

そこで、Claude Code に相談しました。

「検索アプリを作りたい」から始まった

「Figmaのファイルを検索できるWebアプリがあったら助かるのに」—— 率直に思ったことです。Claude Code が提案してくれた構成は、Vite + React + TypeScript。正直、React という名前は聞いたことがある程度で、自分で書いたことは一度もありませんでした。

でも、やってみることにしました。

データをどう集めるか

アプリを作るには、まずFigmaのファイル情報が必要です。Claude Code が Figma API を使った同期スクリプトを書いてくれました。

Figma API でプロジェクト一覧を取得し、各プロジェクトのファイル情報をJSON形式で保存する仕組みです。さらに、WordPress のポートフォリオサイトにあったリッチな説明文や画像も REST API 経由で取得して統合。2つのデータソースをマージすることで、Figma の構造データと WordPress の説明文が1つのJSONに統合されました。

つまずいたこと

Figma API のレート制限

73プロジェクトの情報を一気に取得しようとしたら、API のレート制限(429エラー)に引っかかりました。リクエスト間隔を 350ms → 700ms → 1000ms と段階的に広げて、5回の同期実行でようやく全データを取得できました。

トークンの権限不足

最初に発行した Figma トークンは、一部の権限しか付与していませんでした。チーム情報を取得する API が 403 エラーを返し、原因がわからずしばらく悩みました。全スコープにチェックを入れて再発行したら解決。

リッチコンテンツの消失事故

「データを最新に更新しよう」と思って全データを再構築したら、WordPress 側の説明文がすべて消えてしまいました。Figma API だけで再構築したので、WordPress のデータが上書きされたのです。バックアップから復元し、以降は WordPress API との同期スクリプトを別に作って、2段階で同期する仕組みに変更しました。

日本語URLの罠

WordPressの投稿スラッグに日本語が含まれていて、URLエンコードされた文字列(%e3%82%...)と日本語が混在。約300件中250件でスラッグの不一致が起きて、詳細ページが「ファイルが見つかりません」になりました。全スラッグをデコードして正規化することで解決。

できあがったもの

最終的に、こんなアプリになりました。

  • 即座に検索 — キーワードでファイル名・プロジェクト名を絞り込み
  • カテゴリフィルター — クライアント・種別でワンクリック絞り込み
  • 詳細ページ — サムネイル、説明文、チームメンバー、更新履歴をまとめて表示
  • Figmaリンク — ワンクリックで該当ファイルをFigmaで開ける

数百件のファイルが一瞬で検索できるようになりました。

振り返り

Reactもフックもルーティングも、自分では一行も書いていません。やったのは、「こういう画面にしたい」「この色に変えて」「検索はこう動いてほしい」と伝えること。Claude Code がコードを書き、自分はブラウザで確認してフィードバックを返す。

「コードを書かずにアプリを作った」というと少し語弊がありますが、設計とフィードバックのループを回すことで、想像以上のものが形になりました。