【AI Agent Hackathon】Smart Play Counselor - 今日、子どもと何して遊ぶ?をAIが解決する
Smart Play Counselor - 今日、子どもと何して遊ぶ?をAIが解決する
⭐️ 概要
Smart Play Counselor は、「今日、子どもと何して遊ぼう?」という親の悩みを、AIが解決するアプリです。
子どもの年齢・興味・発達段階と、家にあるおもちゃを分析し、その子に最適な遊びプランをAIがリアルタイムで提案します。
🔗 サービスURL: https://smart-play-counselor.web.app
🔗 GitHub: https://github.com/taroogura/smart_play_counselor
デモ動画
📖 背景と解決する課題
「今日何して遊ぶ?」という毎日の問い
小学生以下の子どもを持つ親なら、誰もが経験したことがあるはずです。
幼稚園から帰ってきた子どもが「遊ぼう!」と言ってくる。
休日の朝、「今日何するの?」と目をキラキラさせている。——でも、正直何をすればいいかわからない。
YouTube を見せてしまう罪悪感。毎回同じ遊びのマンネリ。「この遊びって本当にこの子のためになってるのかな?」という漠然とした不安。
これは怠慢ではありません。情報がないだけです。
親が抱える4つの課題
| # | 課題 | 具体例 |
|---|---|---|
| 1 | 遊びのレパートリー不足 | 毎回ブロックか塗り絵で、子どもが飽きている |
| 2 | 発達段階とのミスマッチ | ネットで見つけた遊びが年齢に合わなかった |
| 3 | おもちゃの活用不足 | 買ったおもちゃの半分は棚の奥で眠っている |
| 4 | 「ちょうどいい」が見つからない | 30分だけ遊びたいのに、準備に1時間かかる遊びしか出てこない |
保育士や幼児教育の専門家なら、子どもの様子を見て最適な遊びを即座に提案できます。でも、すべての親がその知識を持っているわけではありません。
「専門家の知見を、すべての家庭に届けたい」 —— これが Smart Play Counselor の出発点です。
💡 ソリューション
Smart Play Counselor は、AIを「家庭のあそびカウンセラー」にするアプリです。
できること
① 子どもの情報を登録(年齢・性別・興味・発達段階)
↓
② おもちゃを登録(手動 / 写真でAI分析 / Amazon検索)
↓
③ 遊び時間を指定(15分 / 30分 / 1時間...)
↓
🤖 AIが「その子 × そのおもちゃ × その時間」に最適な遊びを提案
↓
④ 遊んだ後にフィードバック → 次の提案がさらに良くなる
従来の方法との比較
| Google検索 | 育児アプリ | Smart Play Counselor | |
|---|---|---|---|
| 子どもの個性を考慮 | ❌ | △ 年齢のみ | ✅ 年齢・興味・発達段階 |
| 手持ちのおもちゃ活用 | ❌ | ❌ | ✅ 登録おもちゃから提案 |
| 時間指定 | ❌ | ❌ | ✅ 自由に設定可能 |
| 発達への効果 | △ 自分で判断 | △ 一般論 | ✅ 個別に分析・可視化 |
| 使うたびに最適化 | ❌ | ❌ | ✅ フィードバックで学習 |
🎯 主な機能
1. 子どもプロフィール管理
子どもの年齢・性別に加え、6つの発達指標(創造力・論理力・身体能力・言語力・社会性・集中力)と興味の傾向を登録します。
これにより、AIは「この子は創造力が高いけど集中力を伸ばしたい」といった個別の成長ニーズを理解できます。
2. おもちゃのAI分析
おもちゃの登録方法は3つ:
- 写真を撮る → Gemini Vision がおもちゃを特定し、発達効果を自動分析
- Amazon で検索 → キーワードから候補を表示、ワンタップで登録
- 手動登録 → 名前とカテゴリを入力
写真を撮るだけで「このブロックは創造力8/10、論理力7/10、集中力6/10」のように、おもちゃの発達効果がスコア化されます。
3. AIによる遊びプラン提案
登録された情報をもとに、Vertex AI(Gemini 1.5 Pro) が遊びプランを生成します。
提案には以下が含まれます:
- アクティビティ名 — 子どもがワクワクするタイトル
- 導入の声かけ — 子どもを遊びに誘うフレーズ
- ステップバイステップの手順 — すぐに実践できる具体的な指示
- なぜこの遊びが良いのか — 発達面での根拠
- 必要な材料 — 準備物リスト
4. 成長記録と可視化
遊びセッションの履歴を記録し、発達指標の推移をグラフで確認できます。カレンダービューで「今月はどれくらい遊んだか」が一目瞭然です。
🏗️ 技術スタック
| カテゴリ | 技術 |
|---|---|
| フロントエンド | Flutter / Dart |
| 状態管理 | Provider |
| ルーティング | GoRouter |
| 認証 | Firebase Auth(Google / ゲスト) |
| データベース | Cloud Firestore |
| ストレージ | Firebase Storage |
| サーバーレス | Cloud Functions(Node.js) |
| AI(おもちゃ分析) | Gemini API(REST) |
| AI(遊び提案) | Vertex AI(Gemini 1.5 Pro) |
| UI | Material Design 3 / Flutter Animate / FL Chart |
| ホスティング | Firebase Hosting |
🔧 システムアーキテクチャ
┌─────────────────────────────────────────────────┐
│ Flutter Web App │
│ ┌───────────┐ ┌───────────┐ ┌───────────────┐ │
│ │ Login │ │ Home │ │ Toy Register │ │
│ │ Screen │ │ Screen │ │ Screen │ │
│ └─────┬─────┘ └─────┬─────┘ └───────┬───────┘ │
│ │ │ │ │
│ ┌─────┴──────────────┴───────────────┴───────┐ │
│ │ Services Layer │ │
│ │ AuthService / AIScanService / SearchService│ │
│ └─────────────────────┬───────────────────────┘ │
└────────────────────────┼─────────────────────────┘
│
┌──────────────┼──────────────┐
▼ ▼ ▼
┌────────────┐ ┌───────────┐ ┌─────────────┐
│ Firebase │ │ Gemini │ │ Cloud │
│ Auth / │ │ API │ │ Functions │
│ Firestore / │ │ (Vision) │ │ │
│ Storage │ │ │ │ ┌────────┐ │
└────────────┘ └───────────┘ │ │Vertex │ │
│ │AI │ │
│ │Gemini │ │
│ │1.5 Pro │ │
│ └────────┘ │
└─────────────┘
AI処理の流れ
おもちゃ分析(クライアントサイド):
写真/URL → Gemini API(REST) → おもちゃ特定 + 発達スコア算出 → Firestore保存
複数のGeminiモデル(gemini-1.5-flash → gemini-1.5-pro → gemini-2.0-flash-exp)にフォールバックする仕組みで、可用性を確保しています。
遊びプラン提案(サーバーサイド):
子どもの情報 + おもちゃリスト + 時間
↓
Cloud Functions
↓
Vertex AI(Gemini 1.5 Pro)にプロンプト送信
↓
構造化された遊びプランをJSON形式で返却
Cloud Functions を経由することで、APIキーをクライアントに露出させず、セキュアな構成を実現しています。
💪 実装におけるこだわり
1. 「写真を撮るだけ」の簡単登録
親は忙しい。おもちゃの名前を調べてカテゴリを選んで...という手間は極力なくしたい。写真を1枚撮るだけで、AIがおもちゃの名前・カテゴリ・発達効果をすべて自動入力します。
2. 子ども一人ひとりに合わせた提案
同じ4歳でも、ブロック好きの子と絵を描くのが好きな子では、最適な遊びが全く違います。6つの発達指標と興味マップを組み合わせることで、「この子だけの遊び」 を提案できます。
3. モデルのフォールバック戦略
Gemini APIは複数のモデルバージョンが存在し、利用可能状況が変わることがあります。そこで、複数モデルに順次リクエストを送るフォールバック機構を実装しました。
final models = [
'gemini-1.5-flash',
'gemini-1.5-flash-latest',
'gemini-1.5-pro',
'gemini-2.0-flash-exp',
];
for (final model in models) {
try {
// REST APIでリクエスト
final response = await http.post(url, ...);
if (response.statusCode == 200) return parseResponse(response);
} catch (e) {
continue; // 次のモデルへフォールバック
}
}
4. クロスプラットフォーム対応
Flutter を採用したことで、Web・Android・iOS すべてに対応。Web版はFirebase Hostingですぐに試せ、モバイルアプリとしても配信可能です。
🚀 今後の展望
| フェーズ | 内容 |
|---|---|
| 短期 | 遊びプランの画像生成(Imagen連携)、音声での遊びガイド |
| 中期 | 兄弟・友達との複数人遊び対応、季節・天気に応じた提案 |
| 長期 | 保育士・教育者向けダッシュボード、発達相談AIチャット |
特に実現したいのは音声ガイド機能です。遊んでいる最中にスマホを見る余裕はないので、「次はブロックを3つ重ねてみよう!」とAIが声で導いてくれれば、親子が遊びに集中できます。
📝 まとめ
Smart Play Counselor は、「子どもとどう遊べばいいかわからない」 という、多くの親が口に出せない悩みに正面から向き合ったアプリです。
子育てに正解はありません。でも、「今日のこの30分が、この子の成長につながっている」 と思えるだけで、親の心は軽くなります。
AIは親の代わりにはなれません。でも、親がもっと自信を持って子どもと向き合える「きっかけ」 を作ることはできます。
ぜひ一度試してみてください。
🔗 https://smart-play-counselor.web.app
この記事は AI Agent Hackathon with Google Cloud への提出記事です。
Discussion