AIツーリングプランナー - プロジェクト状況レポート
「今週末どこ走る?」をAIに聞くだけ。走った後は、AIが旅日記を作ってくれる。
バイクツーリングの「計画の面倒さ」と「記録の手間」をAIで解消し、ライダーが走ることだけに集中できる世界を作る。
柱1: AIルート提案 — 自然言語で聞くだけで最適ルートを生成
柱2: 自動旅日記 — GPSログ+写真からAIが旅日記を自動作成
IT管理職。Z900RS乗り。月1回ソロツーリング。「どこ行こう」で30分悩んで結局同じ道。走った後の写真はカメラロールに埋もれる。金曜夜にAIに聞いて、朝にはルートが揃っている世界を望む。
リターン組は20年ぶり復帰で新しい良い道を発見したい。若手はSNS映えスポットを効率よく見つけたい。両者とも「知らない道の発見」にワクワクする。
| Feature | ツーリングサポーター | HondaGO RIDE | Google Maps | TouringApp |
|---|---|---|---|---|
| AIルート提案 | × | × | × | ✓ 国内初 |
| リアルタイムスポットDB | × | × | × | ✓ YouTube/X連動 |
| AI旅日記 | × | × | × | ✓ |
| バイク専用ルート | ✓ | ✓ | × | ✓ |
| UIデザイン | レガシー | Honda色 | 汎用 | モダン |
| 料金 | 月400円 | 無料 | 無料 | フリーミアム |
初期はライダーで熱狂的ファンを作り、「最高の道を走る人のアプリ」として自然拡張
| App | Users | Strength | Weakness |
|---|---|---|---|
| ツーリングサポーター | 国内最大手 | ツーリング特化、ルートインポート | UI古い、AI無し、月額400円 |
| HondaGO RIDE | Honda公式 | 無料、ブランド力 | Honda色が強い、AI無し |
| MOTTO GO | 新興 | モダンUI | AI活用なし |
| Calimoto | 海外大手 | ワインディングロード特化 | 日本非対応、高額 |
| REVER | 海外 | コミュニティ強い | 日本語なし |
現在のアプリは4タブ構成のiOSネイティブアプリ。SwiftUI + Firebase + Claude AIで構成。
保存済みルート一覧。過去に生成・保存したルートをワンタップで復元。
ImplementedGoogle Mapsベースの探索画面。トレンドスポットカード、カテゴリフィルタ。周辺のおすすめスポットを表示。
ImplementedAIルート生成のメインフロー。4ステップクイズ(気分・方向・食べ物・距離)→ AI生成 → マップ表示 → ナビ連携。
Implementedユーザー統計(総距離・総時間・月別グラフ)、設定、ツーリングログ一覧。
Implemented各ストップにGoogle Maps評価・写真・YouTube動画リンクを自動付与。低評価スポットには品質警告フラグを付与。
| Collection | Purpose | Access |
|---|---|---|
| saved_routes | 保存済みルート(routeJsonを含む) | Own R/W |
| touring_logs | GPS走行ログ | Own R/W |
| travel_diaries | AI生成旅日記 | Own R/W |
| favorite_spots | お気に入りスポット | Own R/W |
| user_profiles | FCMトークン・通知設定 | Own R/W |
| shared_routes | 公開共有ルート | Public Read |
| touring_spots | YouTuber実走スポットDB(136件) | Auth Read |
ルート生成・表示・追跡・日記の基本フローは動作。App Store提出準備は未着手。
| Feature | Status | Files | Notes |
|---|---|---|---|
| AIルート生成 | Done | main.py, claude_service.py, route_generation.py | 5-step pipeline完動 |
| Google Maps連携 | Done | maps_service.py, RouteMapView.swift | Places + Routes + iOS SDK |
| GPSトラッキング | Done | TouringTrackingService.swift | BG対応、速度・距離計算 |
| AI旅日記 | Done | diary_generation.py, DiaryService.swift | 写真連携対応 |
| スポットDB | Done | spot_service.py, youtube_service.py | 136件 / 5チャンネル |
| 品質フィルタ | Done | main.py (Step 2) | 低評価・レビュー少の警告 |
| YouTube連携 | Done | StopDetailView.swift | スポット詳細にYTボタン |
| プッシュ通知 | Done | NotificationService.swift, main.py | 週末天気 / 金曜18:00 |
| ルート保存 | Done | RouteStorageService.swift | Firestore永続化 |
| お気に入りスポット | Done | FavoriteSpotService.swift | CRUD完備 |
| ルート共有 | Done | RouteSharingService.swift | 公開URL + QRコード |
| Widget | Done | TouringAppWidget/ | 週末天気ウィジェット |
| オンボーディング | Basic | OnboardingView.swift | 3ステップ説明のみ |
| エラーハンドリング | Partial | 各Service | タイムアウト・リトライ未対応 |
| App Store提出 | Not Started | - | スクショ・説明文・ASO |
| アプリ名・アイコン | Not Started | - | 候補あり、未決定 |
| Apple Developer登録 | Not Started | - | 年額12,980円 |
TouringAppの最大の差別化要素はリアルな実走データに基づくスポットDB。現在はYouTubeツーリング動画から構築中。
手動トリガーのバッチ処理。ingest_youtube_spots Cloud Function で実行。
| Channel | Subscribers | Content Type | Spots Extracted |
|---|---|---|---|
| スーツ 旅行 / Suit Travel | ~112万 | 国内旅行・グルメ・宿泊施設レビュー | 対象: 国内グルメ・ホテル動画のみ(鉄道・海外系は除外) |
| ヲカライダー (Woka Rider) | ~36万 | バイク絶景ツーリング・峠道 | Auto-extracted |
| こつぶちゃんねる | ~50万 | CBR250RR日本一周・絶景ロード | Auto-extracted |
| 稀に暇なOLなっちゃん | ~50万 | SR400ツーリング・キャンプ | Auto-extracted |
| くぼたび | ~95万 | 夫婦旅・47都道府県グルメ | Auto-extracted |
| 茅ヶ崎みなみ | ~18万 | スーパーカブ・ソロキャンプ | Auto-extracted |
その他、手動でキュレーションした42スポット(全国の定番ツーリングスポット)も含む。
現在のスポットDBは手動バッチ実行のYouTube字幕抽出に留まっている。目指すべきは「常に生きている」リアルタイムデータベース。
新着動画の自動監視 → 字幕取得 → AI抽出 → DB更新。チャンネル数を50+に拡大。新しいスポットが動画で紹介されたら即座にDBに反映。
ツーリング関連ハッシュタグ(#ツーリング #バイク旅)をリアルタイム監視。今まさに話題になっているスポット・道路状況・混雑情報を取得。
Google Maps の最新レビュー・評価変動を定期監視。閉業・改装・季節限定営業などの変化を自動検出してDBを更新。
ツーリング系ブログ、みんカラ、Webikeコミュニティ等からのスポット情報クローリング。テキスト解析でスポット名・感想・おすすめ度を抽出。
ゴール: 「昨日YouTuberが紹介した新しいカフェ」が翌日にはルート提案に反映される世界。静的なスポットDBではなく、インターネット上の生きた情報が常に流れ込む動的なナレッジグラフ。これが競合が真似できない本質的な差別化になる。
現在のスポットDBは手動バッチ実行のYouTube字幕抽出のみ。目指すべきは、YouTube・X・ブログ等のリアルタイム情報を常に自動クローリング・解析・更新し続ける「生きたデータベース」。現状はその構想とはまだ距離がある。具体的な課題:
Apple Developer Program未登録。アプリ名未決定。アイコン・スクリーンショット未作成。ASO(App Store最適化)戦略は文書化済みだが実行は未着手。
天気連動ルート最適化(雨の方角を避ける)が未実装。ユーザーの走行傾向に基づくパーソナライゼーションも未実装。Nearby Searchによる穴場スポット提案も未実装。これらはすべてプラン済み(Phase 2-4)だが未着手。
Cloud Function のタイムアウト(120秒)時のユーザー体験が悪い。リトライUI、オフライン対応、ネットワークエラー表示などが不十分。
GPSトラッキングのバッテリー消費、長時間ツーリングでの挙動、山間部(圏外エリア)での動作確認が不十分。実際のツーリングでの検証が必要。
Claude API + Google Maps API のコストが利用量に比例して増加。無料ユーザーへの回数制限(月3回)、レスポンスキャッシュ、プロンプト最適化によるコスト削減が必要。
「バイクツーリングアプリ」で始めると車ドライバーが「自分向けじゃない」と感じるリスク。将来の拡張を見据え「走る旅のアプリ」としてのポジショニング検討が必要。
ingest-youtube-spots の Cloud Run サービスに allUsers が roles/run.invoker として設定されている。セキュリティ上、本番前にリバートが必要。
目標: App Store公開、初月DL 500件
| Task | Status | Priority |
|---|---|---|
| AIルート生成パイプライン | Done | P0 |
| Google Maps連携 | Done | P0 |
| UI/UX基本実装 | Done | P0 |
| スポットDB + YouTube連携 | Done | P0 |
| 品質フィルタ(評価警告) | Done | P0 |
| エラーハンドリング強化 | Partial | P1 |
| アプリ名決定 & アイコン | Todo | P1 |
| Apple Developer Program登録 | Todo | P1 |
| オンボーディング改善 | Todo | P1 |
| App Store提出(スクショ、説明文、ASO) | Todo | P1 |
| TestFlight配布 | Todo | P2 |
目標: 累計DL 3,000件、MAU 1,000、リアルタイムスポットDB基盤構築
目標: 累計DL 10,000件、MRR 72,000円、月間収益 ~100,000円
目標: 累計DL 50,000件、MRR 720,000円 + スポンサード収益
| Plan | Price | Features |
|---|---|---|
| Free | 0 | AIルート生成 月3回、基本機能、広告あり |
| Pro (月額) | 480円/月 | AI無制限、旅日記、共有、広告非表示 |
| Pro (年額) | 3,800円/年 | 同上 (34%割引) |
価格根拠: ツーリングサポーター月400円、Strava月800円。月480円はツーリング1回のコーヒー代以下。
| Item | Phase 1 | Phase 2 | Phase 3 | Phase 4 |
|---|---|---|---|---|
| Firebase | 0 | 5K | 15K | 50K |
| Claude API | 5K | 15K | 30K | 80K |
| Google Maps | 0 | 5K | 20K | 50K |
| Marketing | 0 | 80K | 230K | 400K |
| Total | ~5K | ~105K | ~295K | ~580K |
単位: 円。K = 千
| Metric | Phase 1 | Phase 2 | Phase 3 | Phase 4 |
|---|---|---|---|---|
| 累計DL | 500 | 3,000 | 10,000 | 50,000 |
| MAU | 50 | 1,000 | 3,000 | 15,000 |
| 有料転換率 | - | - | 5% | 10% |
| サブスク収益 | 0 | 0 | 72K | 720K |
| 広告収益 | 0 | 0 | 30K | 100K |
| スポンサード | 0 | 0 | 0 | 200K |
| 月間収益 | 0 | 0 | ~102K | ~1,020K |
| 月間損益 | -5K | -105K | -193K | +440K |
Phase 4(6ヶ月以降)で黒字化見込み。スポンサードスポット(飲食店・宿からの有料掲載)が重要な収益源になる。