TouringApp

AIツーリングプランナー - プロジェクト状況レポート

Report Date: 2026-02-22 | Firebase Project: touring-app-koh | Platform: iOS 17+ | Status: MVP Alpha
01

Vision & Mission

「今週末どこ走る?」をAIに聞くだけ。走った後は、AIが旅日記を作ってくれる。

Mission

バイクツーリングの「計画の面倒さ」と「記録の手間」をAIで解消し、ライダーが走ることだけに集中できる世界を作る。

Core Value

柱1: AIルート提案 — 自然言語で聞くだけで最適ルートを生成
柱2: 自動旅日記 — GPSログ+写真からAIが旅日記を自動作成

Target Persona

Main: タカシ(45歳)

IT管理職。Z900RS乗り。月1回ソロツーリング。「どこ行こう」で30分悩んで結局同じ道。走った後の写真はカメラロールに埋もれる。金曜夜にAIに聞いて、朝にはルートが揃っている世界を望む。

Sub: リターンライダー(55歳)/ 若手(28歳)

リターン組は20年ぶり復帰で新しい良い道を発見したい。若手はSNS映えスポットを効率よく見つけたい。両者とも「知らない道の発見」にワクワクする。

Competitive Advantage

FeatureツーリングサポーターHondaGO RIDEGoogle MapsTouringApp
AIルート提案×××✓ 国内初
リアルタイムスポットDB×××✓ YouTube/X連動
AI旅日記×××
バイク専用ルート×
UIデザインレガシーHonda色汎用モダン
料金月400円無料無料フリーミアム
02

Market Analysis

1,028万
二輪保有台数
~300万
アクティブツーリング人口
2,800万
ドライブ人口(TAM拡張後)
83%
ソロツーリング派

Market Trends

  • 51cc以上の趣味バイクは全排気量帯で増加傾向
  • 新車購入者の平均年齢55.5歳 — 50-60代がコア
  • コロナ禍以降のリターンライダー増加
  • 男性85% / 女性15%
  • ドライブ参加人口2,800万人 — TAM拡張の余地

Expansion Strategy (Strava Model)

Phase 1
バイクツーリング(~300万人)
Phase 2-3
ドライブ・車旅に拡張(~2,800万人)
Phase 4+
全アウトドアモビリティ(サイクリング・キャンプ等)

初期はライダーで熱狂的ファンを作り、「最高の道を走る人のアプリ」として自然拡張

Competitor Landscape

AppUsersStrengthWeakness
ツーリングサポーター国内最大手ツーリング特化、ルートインポートUI古い、AI無し、月額400円
HondaGO RIDEHonda公式無料、ブランド力Honda色が強い、AI無し
MOTTO GO新興モダンUIAI活用なし
Calimoto海外大手ワインディングロード特化日本非対応、高額
REVER海外コミュニティ強い日本語なし
03

Product Overview

現在のアプリは4タブ構成のiOSネイティブアプリ。SwiftUI + Firebase + Claude AIで構成。

Tab 1: Saved Routes

保存済みルート一覧。過去に生成・保存したルートをワンタップで復元。

Implemented

Tab 2: Explore

Google Mapsベースの探索画面。トレンドスポットカード、カテゴリフィルタ。周辺のおすすめスポットを表示。

Implemented

Tab 3: Plan

AIルート生成のメインフロー。4ステップクイズ(気分・方向・食べ物・距離)→ AI生成 → マップ表示 → ナビ連携。

Implemented

Tab 4: Profile

ユーザー統計(総距離・総時間・月別グラフ)、設定、ツーリングログ一覧。

Implemented

Key Features Detail

AI Route Generation

  • 自然言語 or クイズ形式でルートリクエスト
  • 出発地・ゴール地点の検索設定
  • 距離・時間のプリファレンス設定
  • Claude Sonnet 4.5でJSON構造化出力
  • Google Places APIで座標・評価・写真を取得
  • Google Routes APIでルート座標を算出
  • 天気情報を各スポットに付与
  • YouTubeスポットDBからのデータ注入

Route Display & Navigation

  • Google Maps SDKでルート描画
  • 各ストップのカード表示(写真・評価・天気)
  • ストップ詳細(Google Maps連携・電話・YouTube)
  • 品質警告(低評価・レビュー少のスポット)
  • 区間情報(距離・時間・道路タイプ)
  • ルート保存・共有機能
  • 再生成ボタン

Touring & Diary

  • GPSリアルタイム追跡(速度・距離・タイマー)
  • バックグラウンドGPSログ記録
  • 走行軌跡のマップ描画
  • 写真メタデータ自動取得
  • AI旅日記自動生成(Claude API)
  • 日記閲覧画面

Engagement

  • お気に入りスポット保存
  • 週末天気プッシュ通知(毎週金曜18:00)
  • ウィジェット(天気表示)
  • オンボーディング(3ステップ)
  • 匿名認証 + Phone/Email認証
04

Technical Architecture

iOS App (SwiftUI, iOS 17+)
Views
20+ screens
4 tabs
ViewModels
RouteGenerationVM
Services (10)
Route, Tracking, Diary
Auth, Location, FCM...
Models (11)
TripRoute, TouringLog
TravelDiary, FavoriteSpot...
Firebase Cloud Functions (Python 3.12, asia-northeast1)
generate_route
5-step pipeline
512MB / 120s
generate_travel_diary
Log+Photo→Diary
512MB / 120s
ingest_youtube_spots
Batch ingestion
1GB / 540s
send_weekend_notification
Scheduler
毎週金 18:00 JST
External APIs & Data Stores
Claude API
Sonnet 4.5
Structured Output
Google Maps
Places / Routes
Maps SDK for iOS
Firestore
7 collections
asia-northeast1
YouTube API
Data API v3
Transcript API
OpenWeatherMap
Current Weather
Forecast

Route Generation Pipeline (5 Steps)

Step 0
SpotDB Lookup
Step 1
Claude AI Route Design
Step 2
Google Places Geocoding
Step 3
Routes API Polyline
Step 4
Weather Data

各ストップにGoogle Maps評価・写真・YouTube動画リンクを自動付与。低評価スポットには品質警告フラグを付与。

Firestore Collections (7)

CollectionPurposeAccess
saved_routes保存済みルート(routeJsonを含む)Own R/W
touring_logsGPS走行ログOwn R/W
travel_diariesAI生成旅日記Own R/W
favorite_spotsお気に入りスポットOwn R/W
user_profilesFCMトークン・通知設定Own R/W
shared_routes公開共有ルートPublic Read
touring_spotsYouTuber実走スポットDB(136件)Auth Read

Tech Stack

FRONTEND
SwiftUI
iOS 17+ / XcodeGen
BACKEND
Cloud Functions
Python 3.12 / Gen2
AI ENGINE
Claude Sonnet 4.5
Structured JSON Output
MAP
Google Maps SDK
Places / Routes / iOS SDK
DATABASE
Firestore
7 Collections / asia-ne1
AUTH
Firebase Auth
Anonymous + Phone/Email
05

Development Progress

Overall Progress

MVP Core Features ~65%

ルート生成・表示・追跡・日記の基本フローは動作。App Store提出準備は未着手。

2026-02-11
Market Research & Competitive Analysis
バイク市場調査(1,028万台保有、ツーリング人口~300万人)。競合5社分析。ペインポイント調査。海外成功事例(Calimoto/REVER)。3Cフレームワーク分析。ドライブ市場TAM拡張可能性の特定。
2026-02-21 AM
MVP Concept & UI Prototype
コンセプトドキュメント策定。4タブUI設計。ExploreView(地図+トレンド)、RouteInputView(4ステップクイズ)、TripPlannerView(ルート表示)のプロトタイプ完成。Clean Minimal デザインシステム。Google Maps SDK統合。Widget Extension。
2026-02-21 PM
Phase 1 MVP: Full-Stack Implementation
Cloud Functions 4関数実装(generate_route, generate_travel_diary, ingest_youtube_spots, send_weekend_notification)。Claude Sonnet 4.5構造化出力。Google Places/Routes API統合。天気連携。GPSトラッキング。AI旅日記生成。Firestore 7コレクション。ルート保存・共有。お気に入りスポット。プッシュ通知。
2026-02-21 PM
YouTube Spot DB Pipeline
YouTube Data API + Transcript API + Claude AIによるスポット自動抽出パイプライン構築。5つのツーリングYouTubeチャンネルから110スポット取得。手動キュレーション42スポット追加。Google Places APIで全136スポットの座標を補完。Leaflet.jsマップ可視化。
2026-02-22
Spot Integration & YouTube Links
ルート生成パイプラインにスポットDB注入完了(Step 0)。各ストップにYouTube動画リンクを自動付与。iOS側にYouTubeボタン追加。品質警告フラグ(低評価・レビュー少)実装。
NOW
Alpha Testing & Refinement
実機テスト中。UI/UX改善、エラーハンドリング強化、App Store提出準備が次のステップ。

Feature Implementation Status

FeatureStatusFilesNotes
AIルート生成Donemain.py, claude_service.py, route_generation.py5-step pipeline完動
Google Maps連携Donemaps_service.py, RouteMapView.swiftPlaces + Routes + iOS SDK
GPSトラッキングDoneTouringTrackingService.swiftBG対応、速度・距離計算
AI旅日記Donediary_generation.py, DiaryService.swift写真連携対応
スポットDBDonespot_service.py, youtube_service.py136件 / 5チャンネル
品質フィルタDonemain.py (Step 2)低評価・レビュー少の警告
YouTube連携DoneStopDetailView.swiftスポット詳細にYTボタン
プッシュ通知DoneNotificationService.swift, main.py週末天気 / 金曜18:00
ルート保存DoneRouteStorageService.swiftFirestore永続化
お気に入りスポットDoneFavoriteSpotService.swiftCRUD完備
ルート共有DoneRouteSharingService.swift公開URL + QRコード
WidgetDoneTouringAppWidget/週末天気ウィジェット
オンボーディングBasicOnboardingView.swift3ステップ説明のみ
エラーハンドリングPartial各Serviceタイムアウト・リトライ未対応
App Store提出Not Started-スクショ・説明文・ASO
アプリ名・アイコンNot Started-候補あり、未決定
Apple Developer登録Not Started-年額12,980円

Codebase Stats

20+
iOS Screens
11
Data Models
10
Services
4
Cloud Functions
3
AI Prompts
3
JSON Schemas
06

Spot Database & Data Pipeline

TouringAppの最大の差別化要素はリアルな実走データに基づくスポットDB。現在はYouTubeツーリング動画から構築中。

136
Total Spots
6
YouTube Channels
8
Regions Covered
100%
Geocoded

Current Pipeline (Implemented)

YouTube
Data API + 字幕
Claude AI
スポット抽出
Google Places
座標・評価補完
Firestore
touring_spots
Route Gen
プロンプト注入

手動トリガーのバッチ処理。ingest_youtube_spots Cloud Function で実行。

Ingested YouTube Channels

ChannelSubscribersContent TypeSpots 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スポット(全国の定番ツーリングスポット)も含む。

Future Vision: Living Spot Database

現在のスポットDBは手動バッチ実行のYouTube字幕抽出に留まっている。目指すべきは「常に生きている」リアルタイムデータベース

YouTube

新着動画の自動監視 → 字幕取得 → AI抽出 → DB更新。チャンネル数を50+に拡大。新しいスポットが動画で紹介されたら即座にDBに反映。

X (Twitter)

ツーリング関連ハッシュタグ(#ツーリング #バイク旅)をリアルタイム監視。今まさに話題になっているスポット・道路状況・混雑情報を取得。

Google Maps Reviews

Google Maps の最新レビュー・評価変動を定期監視。閉業・改装・季節限定営業などの変化を自動検出してDBを更新。

Blog / Travel Sites

ツーリング系ブログ、みんカラ、Webikeコミュニティ等からのスポット情報クローリング。テキスト解析でスポット名・感想・おすすめ度を抽出。

ゴール: 「昨日YouTuberが紹介した新しいカフェ」が翌日にはルート提案に反映される世界。静的なスポットDBではなく、インターネット上の生きた情報が常に流れ込む動的なナレッジグラフ。これが競合が真似できない本質的な差別化になる。

07

Open Issues & Challenges

Critical

Living Database: 静的バッチ処理からリアルタイム情報基盤への進化

現在のスポットDBは手動バッチ実行のYouTube字幕抽出のみ。目指すべきは、YouTube・X・ブログ等のリアルタイム情報を常に自動クローリング・解析・更新し続ける「生きたデータベース」。現状はその構想とはまだ距離がある。具体的な課題:

  • YouTube: 新着動画の自動監視・定期バッチの未実装(現在は手動トリガー)
  • X/Twitter: ツーリング関連の投稿収集パイプラインが未構築
  • ブログ・コミュニティ: Webクローリング基盤が未構築
  • データの鮮度管理: 閉業・季節限定等の変化を検出する仕組みがない
  • スケーリング: 136件のスポットでは全国カバーに不十分。数千~数万件規模が必要

App Store提出の前提条件が未完了

Apple Developer Program未登録。アプリ名未決定。アイコン・スクリーンショット未作成。ASO(App Store最適化)戦略は文書化済みだが実行は未着手。

Important

ルート生成品質のさらなる向上

天気連動ルート最適化(雨の方角を避ける)が未実装。ユーザーの走行傾向に基づくパーソナライゼーションも未実装。Nearby Searchによる穴場スポット提案も未実装。これらはすべてプラン済み(Phase 2-4)だが未着手。

エラーハンドリング・UXの改善

Cloud Function のタイムアウト(120秒)時のユーザー体験が悪い。リトライUI、オフライン対応、ネットワークエラー表示などが不十分。

実機テストの蓄積不足

GPSトラッキングのバッテリー消費、長時間ツーリングでの挙動、山間部(圏外エリア)での動作確認が不十分。実際のツーリングでの検証が必要。

Consideration

APIコスト管理

Claude API + Google Maps API のコストが利用量に比例して増加。無料ユーザーへの回数制限(月3回)、レスポンスキャッシュ、プロンプト最適化によるコスト削減が必要。

TAM拡張時のブランディング

「バイクツーリングアプリ」で始めると車ドライバーが「自分向けじゃない」と感じるリスク。将来の拡張を見据え「走る旅のアプリ」としてのポジショニング検討が必要。

Security: Cloud Run IAM設定

ingest-youtube-spots の Cloud Run サービスに allUsers が roles/run.invoker として設定されている。セキュリティ上、本番前にリバートが必要。

08

Roadmap

Phase 1: MVP Launch

In Progress

目標: App Store公開、初月DL 500件

TaskStatusPriority
AIルート生成パイプラインDoneP0
Google Maps連携DoneP0
UI/UX基本実装DoneP0
スポットDB + YouTube連携DoneP0
品質フィルタ(評価警告)DoneP0
エラーハンドリング強化PartialP1
アプリ名決定 & アイコンTodoP1
Apple Developer Program登録TodoP1
オンボーディング改善TodoP1
App Store提出(スクショ、説明文、ASO)TodoP1
TestFlight配布TodoP2

Phase 2: Growth & Data Intelligence

Planned (1-3 months)

目標: 累計DL 3,000件、MAU 1,000、リアルタイムスポットDB基盤構築

  • Living Database構築: YouTube自動監視、X連携、ブログクローリング
  • 天気連動ルート最適化(方角別天気 → 晴れの方面を優先)
  • ユーザーログ学習(走行傾向のパーソナライゼーション)
  • Nearby Search穴場スポット提案
  • 道の駅オープンデータ統合
  • YouTube案件によるプロモーション(3-5名)
  • Twitter/X での #AIツーリング コミュニティ形成

Phase 3: Monetization

Planned (3-6 months)

目標: 累計DL 10,000件、MRR 72,000円、月間収益 ~100,000円

  • サブスクリプション(Pro版 月480円 / 年3,800円)
  • AdMob広告統合
  • グループツーリング機能
  • オフラインマップ対応
  • 東京モーターサイクルショー等のイベント出展

Phase 4: Scale

Planned (6 months+)

目標: 累計DL 50,000件、MRR 720,000円 + スポンサード収益

  • ドライブ(車)市場への拡張(TAM x10)
  • Android版
  • コミュニティ機能(ルート投稿・いいね・コメント)
  • スポンサードスポット(飲食店・宿からの有料掲載)
  • Apple Watch / CarPlay対応
  • 多言語対応(インバウンドライダー向け)
09

Financial Plan

Revenue Model

PlanPriceFeatures
Free0AIルート生成 月3回、基本機能、広告あり
Pro (月額)480円/月AI無制限、旅日記、共有、広告非表示
Pro (年額)3,800円/年同上 (34%割引)

価格根拠: ツーリングサポーター月400円、Strava月800円。月480円はツーリング1回のコーヒー代以下。

Cost Structure (Monthly)

ItemPhase 1Phase 2Phase 3Phase 4
Firebase05K15K50K
Claude API5K15K30K80K
Google Maps05K20K50K
Marketing080K230K400K
Total~5K~105K~295K~580K

単位: 円。K = 千

Revenue Projection

MetricPhase 1Phase 2Phase 3Phase 4
累計DL5003,00010,00050,000
MAU501,0003,00015,000
有料転換率--5%10%
サブスク収益0072K720K
広告収益0030K100K
スポンサード000200K
月間収益00~102K~1,020K
月間損益-5K-105K-193K+440K

Phase 4(6ヶ月以降)で黒字化見込み。スポンサードスポット(飲食店・宿からの有料掲載)が重要な収益源になる。