
ケーススタディ Personal project
ブラジルのあらゆる候補者の公開記録を、すべての数字の公式な出典とともに。
- クライアント
- Personal project
- 種類
- 市民向けデータツール
- 役割
- フォーク、リデザインとフロントエンド機能
- 年
- 2026
01概要
公式の情報源(高等選挙裁判所、連邦歳入庁、透明性ポータル)から構築した 12 GB の SQLite データベースを読み取り専用で扱う Web アプリ。2014 年から 2026 年までの立候補、選挙資金の寄付と支出、申告資産、アラートシグナルを人物ごとに整理し、各レコードのファイル、URL、取得日、SHA-256 をワンクリックで確認できます。オープンソースプロジェクト EloSys のフォークで、私の担当は新しいアイデンティティ、フロントエンド、そしてその周りの機能です。
02課題
ブラジルの選挙データは公開されていますが、年ごとに 1 GB を超える ZIP ファイルに、形式もばらばらに散らばっています。ひとりの候補者の経歴をまとめるには、ダウンロードして CPF と CNPJ でレコードを突き合わせ、出どころを示せないまま数字を信じるしかありません。
02アプローチ
データパイプラインはそのまま残し、読み手が触れる部分を作り直す。EloSys のコレクターはすべてのレコードを元のファイルとそのハッシュまでたどれる来歴チェーンとともに保存し、Web アプリはデータベースを読み取り専用で開きます。プロジェクト名を変え、暗いダッシュボードを落ち着いた公共的な見た目に置き換え、誰かを調べるときに欲しくなる道具を加えました。お気に入り、横並びの比較、エクスポート、共有、印刷です。
03開発内容
実際につくったもの
- 01
全ページに適用した新しいビジュアルシステム。標準はライトテーマでダークテーマも用意、Public Sans と IBM Plex Mono、虫めがねとチェックのロゴ、作り直したサイドバーとトップバー、そして「視差効果を減らす」設定を尊重するスライド式メニュー付きのスマートフォンレイアウト。
- 02
あらゆる記録(候補者、CPF、CNPJ)をお気に入りにしてサイドバーに固定でき、既存の Ctrl K 検索パレットには最近の検索とキーボード操作を追加。すべてブラウザ内に保存され、アカウントは不要です。
- 03
最大 3 人の候補者を比べる比較ページ。立候補、寄付、選挙基金、契約済みと支払済みの支出、申告資産、アラートシグナルを比例バーで並べ、共有可能なリンクを発行します。さらに、すべての表の CSV エクスポート、CPF と CNPJ のワンクリックコピー、リンク共有、印刷用レイアウト。
- 04
申告資産ランキングと全年度の上位サプライヤーという、フルデータベースで最大 1 分ほどかかっていた重い集計のためのメモリ内キャッシュ。事前読み込みスクリプトと、同じネットワーク上の人が 1 台のマシンのコピーを使える LAN 起動モードも用意しました。
技術
- Next.js
- React
- TypeScript
- Tailwind CSS
- SQLite
- better-sqlite3
- React Flow
- Python
04体験





05現在の状況
ダウンロード可能なデータベース(展開後約 12 GB)を使ってローカルで動作します。一般公開はしていません。コレクター、検出ルール、来歴モデルは EloSys に由来します。アラートシグナルは手がかりであり、証拠ではありません。
