Note
v0.1 のデータは公的機関の公開資料に基づく実データです。 詳細はデータソース・根拠一覧を参照してください。
curl -fsSL https://ojpp.dev/install | sh必要なもの: Docker と Git だけ。Node.js / pnpm は自動インストールされます。
停止
Ctrl+C/ 再起動bash setup.sh/ DB削除docker compose down -v
政治は長く、政党と企業の専有物だった。
AIエージェントの時代が、この構造を変える。
あなたのAIエージェントが、24時間365日、全政党の政治資金を監視する。全政党の政策変更を追跡し、差分を届ける。全法案を読み、あなたに影響のある部分を要約する。政党に属さなくても、企業のロビイストを雇わなくても、専門家でなくても——AIエージェントがあなたの代わりに政治を読み解き、あなたに届ける。
GovTech(行政DX)でもCivicTech(市民技術)でもない。政治の意思決定プロセスそのものを、すべての人に開くテクノロジー。
| GovTech | CivicTech | PoliTech | |
|---|---|---|---|
| 問い | 決まった政策をいかに届けるか | 市民がいかに参加するか | AIエージェント時代に、誰もが政治プロセスを実行・享受するには |
| 主体 | 政府 | 市民社会 | 市民 + AIエージェント |
| 時代 | 電子政府時代 | Web 2.0時代 | AIエージェント時代 |
1 エージェントファースト — AIの参加を前提に設計 2 非党派性 — 全政党を等しく扱う 3 非企業性 — 企業が運営しない 4 完全オープン — AGPL-3.0-or-later 5 誰でも参加 — 人間でもAIでも 6 議席不要 — インフラは市民とエージェントが作る 7 持続性 — フォーク可能で分散的
Political Command Center — 全サービス一覧ダッシュボード
WebGPU流体シェーダー × レインボーグラデーション × 日本地図データビジュアライゼーション。7つのサービスアプリのリアルタイムKPIを一望するコマンドセンター。
WebGPU 流体シミュレーション リアルタイムKPI 7サービス統合
意見を生態系として可視化する
市民の意見をデジタル生態系としてモデリング。Argument Mining(LLM)で議論構造を自動抽出し、デジタルフェロモン(Stigmergy)で支持の軌跡を記録。適応度ランドスケープとShannon多様性指数でクオーラムセンシングによるフェーズ自動遷移。多数決ではない、自己組織化的合意形成。
5トピック 200+意見 k-means++クラスタリング TF-IDF埋め込み フェロモン減衰
管理画面:
moneyglass-admin:3001/parliscope-admin:3004
ブラウザ / AIエージェント / MCP
│
┌──── Portal :3008 ────┐
┌────────┬───────┬───────┬───┴───┬────┴────┬──────────┬──────────┐
▼ ▼ ▼ ▼ ▼ ▼ ▼ │
BroadListening MoneyGlass PolicyDiff ParliScope SeatMap CultureScope SocialGuard
:3009 :3000 :3002 :3003 :3005 :3006 :3007 │
┌──────────────────────────────────────────────────────────┐ │
│ Next.js 15 × React 19 │ │
└──────────────────────────┬───────────────────────────────┘ │
│ admin apps
┌──────────────────────────┼───────────────────────────────┐ :3001/:3004
│ @ojpp/ui │ @ojpp/api │ @ojpp/db │ @ojpp/ingestion │
└──────────────────────────┬───────────────────────────────┘
│
PostgreSQL (Prisma 6)
29 models │ 14 enums │ 13政党
pnpm dev:moneyglass # MoneyGlass :3000 + :3001
pnpm dev:policydiff # PolicyDiff :3002
pnpm dev:parliscope # ParliScope :3003 + :3004
pnpm dev:seatmap # SeatMap :3005
pnpm dev:culturescope # CultureScope :3006
pnpm dev:socialguard # SocialGuard :3007
pnpm dev:portal # Portal :3008
pnpm dev:broadlistening # BroadListening :3009手動セットアップ
前提条件: Node.js 22+ / pnpm 10+ / PostgreSQL
git clone https://github.com/ochyai/open-japan-politech-platform.git
cd open-japan-politech-platform
docker compose up -d
cp .env.example .env
pnpm install && pnpm db:generate && pnpm --filter @ojpp/db push && pnpm db:seed
pnpm ingest:all
pnpm dev| コマンド | 説明 |
|---|---|
pnpm build |
プロダクションビルド(全8アプリ) |
pnpm typecheck |
TypeScript 型チェック |
pnpm test |
Vitest テスト実行 |
pnpm lint |
Biome lint |
pnpm db:studio |
Prisma Studio(DB GUI) |
pnpm db:generate |
Prisma Client 再生成 |
pnpm ingest:all |
全データ一括投入 |
pnpm ingest:culture |
文化政策データ投入 |
pnpm ingest:social |
社会保障データ投入 |
全APIはRESTful JSONを返し、ページネーション ?page=1&limit=20 に対応。
MoneyGlass API :3000
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/organizations |
政治団体一覧 |
| GET | /api/organizations/:id |
団体詳細 |
| GET | /api/reports |
報告書一覧 |
| GET | /api/reports/:id |
報告書詳細(収支明細含む) |
| GET | /api/parties |
政党一覧(資金集計付き) |
| GET | /api/stats |
ダッシュボード統計 |
PolicyDiff API :3002
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/policies |
政策一覧 |
| GET | /api/policies/:id |
政策詳細 |
| GET | /api/parties |
政党一覧 |
| GET | /api/compare |
政策比較 |
| GET | /api/proposals |
提案一覧 |
| GET | /api/categories |
カテゴリ一覧 |
ParliScope API :3003
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/sessions |
会期一覧 |
| GET | /api/sessions/:id |
会期詳細 + 法案 |
| GET | /api/bills |
法案一覧 |
| GET | /api/bills/:id |
法案詳細(投票・議論含む) |
| GET | /api/politicians |
議員一覧 |
| GET | /api/politicians/:id |
議員詳細 + 投票履歴 |
| GET | /api/stats |
ダッシュボード統計 |
CultureScope API :3006
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/budgets |
文化庁予算一覧 |
| GET | /api/programs |
文化プログラム一覧 |
| GET | /api/stances |
政党別文化政策スタンス |
SocialGuard API :3007
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/budgets |
社会保障予算一覧 |
| GET | /api/programs |
社会保障制度一覧 |
| GET | /api/welfare-stats |
都道府県別福祉指標 |
| GET | /api/stances |
政党別社会保障スタンス |
BroadListening API :3009
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/topics |
トピック一覧(ページネーション対応) |
| GET | /api/topics/:id/ecosystem |
生態系データ(意見・クラスタ・フェロモン) |
| GET | /api/topics/:id/opinions |
意見一覧 |
| POST | /api/topics/:id/opinions |
意見投稿 |
| POST | /api/topics/:id/analyze |
分析パイプライン実行(Argument Mining → クラスタリング → 適応度計算) |
| POST | /api/topics/:id/ai-participate |
AIエージェント参加 |
Prisma 6 — 29 models, 14 enums
Party ◄─── CulturalStance DietSession ──► Bill ──► Vote
│ ◄── SocialSecurityStance │ └──► Discussion
│ │
├──► Politician ──► Vote Election ──► ElectionResult
│ │
├──► PoliticalOrganization CulturalBudget
│ └──► FundReport CulturalProgram
│ ├──► FundIncome
│ └──► FundExpenditure SocialSecurityBudget
│ SocialSecurityProgram
└──► Policy ──► PolicyProposal
Prefecture ──► WelfareStat
データの性質と件数
| データ | 性質 | 件数 | ソース |
|---|---|---|---|
| 政党マスタ | 実データ | 23政党 | 総務省 政党名簿 |
| 都道府県 | 実データ | 47 | JIS X 0401 |
| 衆議院議員 | 実データ | 465名 | 総務省 第50回衆院選結果 |
| 参議院議員 | 実データ | 248名 | 参議院公式 |
| 選挙結果 | 実データ | 9選挙 | 総務省選挙結果 |
| 国会会期 | 実データ | 21会期 | 衆議院公式 |
| 法案 | 実データ | 90件 | 衆議院・参議院議案一覧 |
| 政治資金 | 実データ | 13政党×8年 | 総務省 政治資金収支報告書 |
| 文化庁予算 | 実データ | 12分野×8年 | 文化庁予算概要 |
| 文化プログラム | 実データ | 20件 | 文化庁公開資料 |
| 社会保障予算 | 実データ | 8分野×8年 | 厚生労働省・財務省 |
| 社会保障制度 | 実データ | 15件 | 厚生労働省 |
| 都道府県別福祉指標 | 実データ | 47×3指標 | 総務省統計局 |
| 政党別スタンス | デモデータ | 13政党×12トピック | 各党マニフェスト参照 |
| データ | ソース | 取り込み |
|---|---|---|
| 政治資金 | political-finance-database.com | pnpm ingest:finance |
| 国会会議録 | 国会会議録API (CC BY 4.0) | pnpm ingest:parliament |
| 法案データ | SmartNews SMRI (MIT) | pnpm ingest:parliament |
| マニフェスト | 各政党公式サイト | pnpm ingest:manifesto |
| 文化政策 | 文化庁予算概要・各党マニフェスト | pnpm ingest:culture |
| 社会保障 | 厚生労働省・財務省・総務省統計局 | pnpm ingest:social |
| 設計原則 | 詳細 |
|---|---|
| API-First | 全データをRESTful APIで提供。エージェントが直接アクセス |
| 機械可読データ | JSON構造化データを標準。人間用UIとエージェント用APIの両方 |
| エージェント認証 (v0.2) | AIエージェント用の認証・権限管理 |
| MCP対応 (v0.2) | Model Context Protocol による外部AIとの連携 |
| 思考の共有 | Entire によるエージェントセッションの永続化。コミットと紐付けて「なぜこのコードが書かれたか」を共有 |
| Attribution | Entire による人間/AI貢献比率の自動算出・記録 |
| 監査ログ (v0.2) | 全操作のトレーサビリティ。エージェントの行動も透明 |
このリポジトリを clone して Claude Code を起動するだけ。
cd open-japan-politech-platform && claudeopen-japan-politech-platform/
├── apps/ ← Next.js 15 アプリ
│ ├── moneyglass-web/ :3000 政治資金
│ ├── moneyglass-admin/ :3001 管理画面
│ ├── policydiff-web/ :3002 政策比較
│ ├── parliscope-web/ :3003 国会
│ ├── parliscope-admin/ :3004 管理画面
│ ├── seatmap-web/ :3005 議席勢力図
│ ├── culturescope-web/ :3006 文化政策
│ ├── socialguard-web/ :3007 社会保障
│ ├── portal-web/ :3008 ポータル (WebGPU流体シェーダー)
│ └── broadlistening-web/ :3009 意見生態系β (Argument Mining + フェロモン)
├── packages/
│ ├── ui/ @ojpp/ui — 14+ コンポーネント + Motion + Lenis
│ ├── db/ @ojpp/db — Prisma (29 models / 14 enums)
│ ├── api/ @ojpp/api — ページネーション, エラー, BigInt変換
│ └── ingestion/ @ojpp/ingestion — 6データソース取り込み
├── paper/ 学術論文
└── docs/ ドキュメント
コーディング規約: TypeScript strict / Biome lint / Server Components優先 / API-first
| Layer | Tech |
|---|---|
| Frontend | Next.js 15 (App Router) / React 19 / TypeScript 5.9 |
| Database | PostgreSQL via Supabase |
| ORM | Prisma 6 |
| Styling | Tailwind CSS v4 |
| Design System | @ojpp/ui — 14+ コンポーネント / カスタムテーマ |
| Animation | Motion (v11+) — スプリング物理 / スクロールトリガー / ページ遷移 |
| Smooth Scroll | Lenis — 慣性スクロール / 60fps |
| Charts | Recharts |
| Monorepo | pnpm 10 workspaces + Turborepo |
| Lint / Format | Biome 2.3 |
| Test | Vitest 3 |
| AI Session | Entire — エージェント思考の永続化・共有 |
| CI/CD | GitHub Actions |
- Prismaスキーマ (29モデル / 14 enum)
- 8アプリ MVP (API + フロントエンド)
- データ取り込みパイプライン (6データソース)
- CI/CD パイプライン
- デザインシステム (@ojpp/ui + Motion + Lenis)
- 学術論文 (PoliTech 5地域比較分析)
- CultureScope — 文化政策可視化
- SocialGuard — 社会保障可視化
- ポータルダッシュボード (WebGPU流体シェーダー + リアルタイムKPI)
- BroadListening β — 意見生態系プラットフォーム(Argument Mining + フェロモン + k-means++)
- Vercel デプロイ
- Entire 導入 (AIエージェントセッション共有・Attribution)
- 認証・認可 (Supabase Auth)
- AIエージェント認証 (APIキー / MCP)
- GraphQL API
- リアルタイム通知
- 多言語対応 (英語)
| プロジェクト | 関係 |
|---|---|
| g0v / vTaiwan | 台湾モデルの日本版。市民社会主導の非党派アプローチを踏襲 |
| Decidim / Consul | 欧州の参加型民主主義基盤。モジュラー設計を参考 |
| mySociety | 英国のNGOモデル。20年+の持続性を参考 |
| チームみらい | 技術的参考。本プラットフォームは全政党対応の非党派版 |
| DD2030 | 方向性は近い。本プラットフォームはエージェントファースト設計を追加 |
PoliTech:政党にも企業にもよらない政治のデジタル化——オープンソース・エージェントレディな政治テクノロジー基盤の国際比較分析
台湾・英国・米国・欧州・日本の5地域を6軸比較フレームワークで分析。
「ぬるぬるカッコいい」 — 政治データを、触って気持ちいいUIで届ける
全アプリに Motion と Lenis による滑らかなアニメーションを実装。
| 機能 | 技術 | 体験 |
|---|---|---|
| スムーススクロール | Lenis 慣性スクロール | 全ページが60fpsでぬるぬる |
| ページ遷移 | PageTransition |
フェード+スライドアップ |
| スクロールリビール | useInView + ScrollReveal |
セクションがスクロールで出現 |
| カードスタッガー | StaggerGrid + StaggerItem |
カードが順番に時差表示 |
| データバー | Spring物理 (stiffness:60) | 議席バー・投票バーがバネで伸びる |
| グラスモーフィズム | Scroll-dependent backdrop-blur | ナビバーが半透明ガラス化 |
| ホバーリフト | whileHover + boxShadow |
カードが浮き上がる |
| タップフィードバック | whileTap scale(0.97) |
ボタンがバネで縮む |
| パララックス | useScroll + useTransform |
Hero背景がパララックス移動 |
人間もAIエージェントもオープンに参加できます。CONTRIBUTING.md / CODE_OF_CONDUCT.md / SECURITY.md
AIエージェントからのPull Requestも歓迎します。agent/ ラベルを付けてPRを送ってください。
AGPL-3.0-or-later — 政治インフラは誰のものでもなく、全員のものである。

