「今の時間は平常通りです」...その言葉を信じて遅刻したことはありませんか?
既存の乗換案内は「現在」の遅延しか教えてくれません。しかし、私たちは未来を予測します。 過去の膨大な運行データから今の平穏に隠れた遅延リスクを暴き出し、「絶対に遅刻できないあなた」を目的地まで安全に送り届ける。それが『ノー遅延乗り換え』です。
トップ画面 直感的な検索インターフェース |
ルート比較 4軸スコアで最適な選択 |
詳細・リスク表示 未来の遅延リスクを可視化 |
本アプリケーションは、既存のAPIをラップしただけのツールではありません。 「いかに速く着くか」ではなく「いかに確実に着くか」 という問いに答えるため、以下のコア技術をフルスクラッチで独自実装しました。
通常の乗換案内APIでは「最短経路」が優先され、「少し遠回りでもリスクの低いルート」を柔軟に探すことは困難です。そこで、私たちはグラフ構造の構築から探索アルゴリズム(Dijkstra法)までを完全に内製化しました。
- 可変トランスファーバッファ:
- 乗り換えにかかるコスト(バッファ)を動的に変化させて複数回探索することで、「最速ルート」から「乗り換え回避ルート」まで、特性の異なる複数のルートを一度に導出します。
- ペナルティ法による強制迂回:
- 通常の探索で見つかった主要ルートに仮想的なペナルティを与えて再探索することで、物理的に異なる代替ルート(迂回路) を強制的に導出。事故で主要幹線が全滅した際も、生き残っているルートを即座に提示します。
「今、遅れていない」ことは「これからも遅れない」ことを保証しません。算出されたルートに対して、以下の独自評価を行います。
- 独自のデータ蓄積:
- オープンデータAPIを継続的に監視し、数ヶ月にわたるリアルタイム遅延データを蓄積・解析。
- リスクの数値化:
- 「金曜日、xx線のxx時台は遅延確率が30%上がる」といった傾向を統計的に導出し、現在は正常運行でも、到着予定時刻に遅延するリスクが高いルートには警告を出します。
数字だけでは伝わらない「現場の空気感」を伝えるため、生成AI (GPT-4o-mini) を統合しました。
- 「このルートは乗換回数は少ないですが、イベント終了後のドーム周辺を通るため、避けた方が無難です」
といった、コンシェルジュのような定性的なアドバイスを提供します。
単一の正解を押し付けることはしません。4つの指標でルートを評価し、ユーザーの状況に合わせて選べるようにしています。
| 指標 | 説明 |
|---|---|
| 速さ | 単純な所要時間。急いでいる時に。 |
| 快適 | 混雑度や乗り換え回数を考慮。疲れている時に。 |
| 安定 | 過去の統計に基づく遅延リスクの低さ。重要な予定の時に。 |
| 安さ | 運賃の安さ。 |
堅牢なバックエンドと、UXを追求したフロントエンドをモダンな技術で統合しています。
- Core: Python 3.12, FastAPI
- Database: PostgreSQL
- AI: OpenAI API (GPT-4o-mini)
- Data Source: ODPT API, GTFS-RT (JR東日本, 東京メトロ, 都営地下鉄)
- Framework: Vite + Vanilla JavaScript
- Styling: Tailwind CSS v4
- Hosting: GitHub Pages
- Hosting: DigitalOcean App Platform (Backend), GitHub Pages (Frontend)
- CI/CD: GitHub Actions (10分ごとのデータ収集・自動デプロイ)
.
├── backend/
│ ├── main.py # アプリケーションエントリーポイント
│ ├── routers/ # APIエンドポイント定義
│ ├── services/ # ビジネスロジック
│ │ ├── routing.py # 独自グラフ探索エンジン (Hybrid Strategy)
│ │ ├── risk.py # 遅延リスク分析 (Predictive Risk)
│ │ └── ai.py # AIコンシェルジュ (Post-search Analysis)
│ ├── schemas/ # Pydanticモデル
│ ├── db/ # データベース接続・モデル
│ └── scripts/ # データ収集・バッチ処理
│ └── fetchers/ # 定期実行データ収集スクリプト
│
└── frontend/
├── index.html # トップページ
├── detail.html # ルート詳細
├── line.html # 路線図
├── evaluation.html # 評価・フィードバック
├── info.html # アプリ情報
├── src/
│ ├── components/ # 再利用可能なUIコンポーネント
│ ├── lib/ # ユーティリティ関数
│ └── pages/ # ページごとのロジック
└── dist/ # ビルド成果物 (GitHub Pages公開用)
本アプリケーションは、以下のオープンデータを活用し、独自の解析を加えて価値を創出しています。
| データ提供元 | データ種別 | 活用方法 |
|---|---|---|
| 公共交通オープンデータセンター | ODPT API | リアルタイム運行情報・遅延情報の取得 |
| JR東日本 | GTFS / GTFS-RT | 時刻表・リアルタイム列車位置情報の解析 |
| 東京メトロ | 列車運行情報API | 運行履歴の統計分析 |
| 都営地下鉄 | 運行データ | 独自グラフネットワークの構築 |
ライセンス: 公共交通オープンデータセンターが定める利用規約に基づき利用しています。
MIT License


