🤖

Edibuddy - 食材との感情的なつながりを通じて、楽しく食品ロスを削減しよう -

に公開

Edibuddy - 食材との感情的なつながりを通じて、楽しく食品ロスを削減しよう -

🎬 デモ動画

https://youtu.be/tLUlEh-jQFA

1. 背景・課題

🛒 買い物時の困った経験

「あれ、冷蔵庫に何があったっけ?」
こんな経験はないでしょうか?買い物中によくあるこの疑問。冷蔵庫を開けて確認したつもりでも、実際にスーパーに来ると記憶が曖昧になってしまいます。

よくあるシチュエーション:

  • 冷蔵庫に牛乳があるかどうか分からず、念のため買って帰ったら既に2本あった
  • 野菜室の奥に隠れていたキャベツを忘れていて、新しいキャベツを買ってしまった
  • 期限切れの食材を発見して、結局捨てることになってしまった

📊 個人のトラブルが社会問題に

このような「ちょっとしたトラブル」が積み重なり、深刻な社会問題につなっています:

日本における食品ロスの現状:

  • 年間約570万トンの食品が廃棄(国民一人当たり年間約45kg)[1]
  • 家庭での食品ロスが全体の約半分を占める[2]
  • 1世帯当たり年間約6万円相当の食材を廃棄[3]

根本的な原因:

  • 冷蔵庫の中身の把握不足: 何があるか分からないから重複購入
  • 賞味期限の管理困難: 期限切れに気づかず廃棄
  • レシピの思い浮かばなさ: 期限が近い食材の使い道が分からない

💡 解決へのアプローチ

これらの課題を解決するため、私たちはAI技術とゲーミフィケーションを活用した革新的な冷蔵庫管理アプリを開発しました。単なる管理ツールではなく、食材との「感情的なつながり」を創出することで、自然な形で食品ロス削減行動を促進します。

2. Edibuddyとは

Edibuddyは、食材をキャラクター化し、賞味期限管理を楽しい体験に変える革新的なモバイルアプリケーションです。バーコードスキャンで商品情報を自動取得し、AIによる画像生成で,賞味期限に応じて食材の感情を表現します。また,AIが冷蔵庫の中身から献立を考案してくれることで,賞味期限の近い
食材から効率的に消費していくことができ,食品ロスを減らすことができます.

🎯 プロジェクトのビジョン

「食材との感情的なつながりを通じて、楽しく食品ロスを削減する」

従来の機能的なアプローチとは異なり、私たちは食材を「生きているキャラクター」として表現することで、ユーザーが食材に対して感情的な愛着を持てるようにしました。これにより、食材を無駄にすることへの心理的な抵抗感を生み出し、自然な形で食品ロス削減行動を促進します。

🌟 独自性とイノベーション

このアプリの最大の特徴は、AIによるキャラクター生成感情表現システム、そして智能的な献立提案です:

  • 動的キャラクター生成: Nano Bananaを使用して、各食材に固有のキャラクターを自動生成
  • 感情表現の進化: 賞味期限に応じてキャラクターの表情や見た目が変化
  • ストーリー性のある体験: 単なる管理ツールではなく、食材との「物語」を創出
  • AI献立提案システム: 冷蔵庫の中身からADK(Agent Development Kit)エージェントが最適な献立を提案し、計画的な買い物と食品ロス削減を実現

3. 機能

3.1 iOSアプリの実際の機能構成

Edibuddyは、Flutterで開発されたiOSアプリケーションで、以下の5つのメイン画面で構成されています:

📱 実際の画面構成

1. ホーム画面 (HomeScreen)

  • Layered3DFridgeWidgetによる多層構造の冷蔵庫表示
  • 扉の開閉アニメーション(大扉・左右分割・引き出し)
  • 各セクション(冷蔵室・野菜室・冷凍室)へのタップアクセス
  • 食材の配置と視覚的な管理

2. 献立画面 (MealPlanScreen)

  • ADK APIクライアントによる献立提案
  • 5つの専門エージェント協調システム
  • 代替メニューの表示切り替え機能
  • 買い物リストの生成

3. スキャン画面 (ScannerScreen)

  • Mobile Scannerによるバーコード認識
  • Open Food Facts APIからの商品情報取得
  • 手動入力フォーム(商品名・メーカー・カテゴリ・賞味期限)
  • AI予測による賞味期限設定

4. 履歴画面 (HistoryScreen)

  • 過去の食材登録履歴表示
  • 登録日時順での並び替え
  • プルリフレッシュ機能

5. 設定画面 (SettingsScreen)

  • 通知設定
  • カテゴリ管理
  • データクリア機能

3.2 実際の技術実装

🔧 コア技術スタック

1. バーコードスキャン機能

  • Mobile Scanner (v7.0.1) によるiOSカメラ統合
  • JANCODE LOOKUP API
  • FirestoreServiceによる商品情報キャッシュ
  • AIによるカテゴリ・賞味期限予測
  • 手動での編集機能

2. 3D冷蔵庫UI

  • 複数のアニメーションコントローラー
  • 扉の開閉状態管理
  • セクション別の食材表示

3. AI画像生成

  • Nano Banana API(Nano Bananaサーバーに接続)
  • ADKApiClient.forSimpleImageApi()を使用
  • 5段階感情表現(veryFresh, fresh, warning, urgent, expired)
  • 並列画像生成による効率化

4. 献立提案システム

  • ADK APIクライアント(ADKサーバーに接続)
  • 5つの専門エージェント
    • 冷蔵庫内の食材分析
    • 献立提案
    • 献立の栄養バランス考慮
    • 調理最適化
    • メニュー画像生成
  • 追加・代替メニュー生成機能

3.3 実際のシステムアーキテクチャ

実装ベースの技術構成

「Flutter クロスプラットフォーム・Firebase・GCP Cloud Run・ADK Backend統合」モデル

実際のアーキテクチャの特徴

  1. Flutter iOS App: 5画面構成(ホーム・献立・スキャン・履歴・設定)
  2. Firebase統合: Firestore・Storage・Authによるデータ管理・共有
  3. Nano Banana: Nano Bananaサーバーで食材キャラクター画像生成
  4. ADK Backend: ADKサーバーで5エージェント協調システム
  5. 商品検索: Mobile Scannerによるバーコード認識とJANCODE LOOKUP APIによる商品情報検索

4 AIエージェントシステム

4.1 🤖 献立提案マルチエージェントシステム(ADK)

5つの専門エージェントによる献立提案

ADKシステムは献立提案機能に特化して設計されており、冷蔵庫の食材から最適な料理メニューを提案するために5つの専門エージェントが協調して動作します。

エージェントの役割分担

  • 食材分析エージェント: 冷蔵庫の食材データから賞味期限の優先度を分析し、使用すべき食材の順序を決定
  • 料理提案エージェント: 分析結果を基に具体的な料理メニューと調理方法を提案
  • 栄養バランスエージェント: 提案する献立の栄養価を計算し、バランスの取れた食事を設計
  • 調理最適化エージェント: 複数の料理を効率的に作るための手順と時間配分を最適化
  • 画像生成エージェント: 提案された献立の各メニューに対し,料理のイメージ画像を生成

各エージェントは段階的に処理を行い、前のエージェントの結果を受けて次の分析を実行することで、単体のAIでは実現できない高精度な献立提案を実現しています。

4.2 🎨 Nano Banana 画像生成システム

食材キャラクター専用生成システム

Nano Bananaサーバーに接続し、商品追加時に即座にキャラクター画像を生成します。

5段階感情表現による視覚化

食材の賞味期限に応じて5つの感情状態(veryFresh, fresh, warning, urgent, expired)を定義し、それぞれに対応したキャラクター画像を並列生成します。賞味期限が近づくにつれて、笑顔から心配顔、そして最終的にはゾンビ風の見た目へと変化することで、ユーザーに視覚的に期限の緊急度を伝えます。

並列画像生成による効率化

商品が登録されると、5つの感情状態すべての画像が並列に生成され、賞味期限の変化に応じて即座に表示を切り替えることができます。これにより、日々の期限チェック時にリアルタイムな視覚フィードバックを提供できます。

基本生成指示:

  • API: https://generativelanguage.googleapis.com/v1beta
  • モデル: gemini-2.5-flash-image-preview
  • スタイル: kawaii(可愛い)キャラクター
  • サイズ: 512x512ピクセル
  • 背景: 透明(PNG形式)
  • 対象: 食材を擬人化したキャラクター

AI生成の特徴:

  • 5つの感情状態(veryFresh, fresh, warning, urgent, expired)を順次生成
  • 各食材に固有のキャラクターデザイン
  • 賞味期限の変化に応じた視覚的フィードバック
  • Firebase Storageへの自動アップロード
  • エラー時のフォールバック画像システム

4. 使用技術

4.1 実際のフロントエンド技術

Flutter 実装

技術 バージョン 実際の用途
Flutter 3.35.2 クロスプラットフォーム開発
Dart 3.5.0 プログラミング言語
Riverpod 2.6.1 状態管理(appStateProvider等)
Material Design 3 - MaterialApp使用

4.2 バックエンド・インフラ技術

Firebase Suite

サービス バージョン 実際の用途
Firebase Core v3.15.2 基本初期化
Firebase Auth v5.3.3 ユーザー認証
Cloud Firestore v5.5.1 商品・献立データ保存
Firebase Storage v12.3.7 画像保存

ADK Backend (Cloud Run)

実際の実装構成

コンポーネント バージョン 実際の用途
FastAPI Python 3.11 REST API フレームワーク
Google ADK v0.2.0+ マルチエージェント協調システム
Uvicorn ASGI Server ADKサーバーで起動
Pydantic v2.0+ データバリデーション
Structlog v23.2.0 構造化ログ出力

実際の5エージェント構成:

  1. ingredient_analysis_agent.py - 賞味期限・優先度分析
  2. recipe_suggestion_agent.py - 具体的メニュー提案
  3. nutrition_balance_agent.py - 栄養素計算・バランス評価
  4. cooking_optimization_agent.py - 時間・手順最適化
  5. image_generation_agent.py - メニュー画像生成

Nano Banana API

サービス 実際の設定 用途
Nano Banana API Nano Bananaサーバー 食材キャラクター画像生成
ADKApiClient forSimpleImageApi() 画像生成API呼び出し
生成スタイル kawaii 可愛いキャラクター生成
画像サイズ 512x512 統一されたサイズ

4.5 開発・運用技術

開発環境

フロントエンド:
  - Flutter SDK: 3.35.2
  - Dart SDK: 3.5.0
  - State Management: Riverpod 2.6.1

バックエンド:
  - Python: 3.11
  - Framework: FastAPI
  - Container: Docker
  - Package Manager: pip

共通:
  - バージョン管理: Git / GitHub
  - CI/CD: GitHub Actions
  - テスト: Flutter Test / pytest

デプロイメント戦略

開発・本番環境構成

  • iOS Flutter App: 開発中(App Store配信予定)
  • ADK Backend: ADKサーバー
  • 各種Gemini API: Geminiによる各種AI呼び出し
  • Firebase: gcp-f06-barcode プロジェクト

8. 今後の展望

8.1 機能拡張計画

Phase 2: 高度なAI機能

  • 栄養分析: 摂取栄養素の自動計算・提案
  • 買い物最適化: AIによる購入計画提案
  • 食品ロス予測: 機械学習による廃棄リスク予測

Phase 3: エコシステム拡張

  • レシート自動読み取り: OCRによる一括商品登録
  • スマート家電連携: IoT冷蔵庫との統合
  • 地域コミュニティ: 食材シェアリング機能

8.2 ビジネス展開

マネタイゼーション戦略

  • プレミアム機能: 高度なAI分析・無制限キャラクター生成
  • パートナーシップ: スーパーマーケット・食品メーカーとの連携
  • データインサイト: 匿名化された食品消費データの提供

9. おわりに: 創造性を育む食品ロス削減

私たちは、技術と感情の融合を通じて、単なる管理ツールを超えた体験を創出しました。食材との感情的なつながりが、自然な行動変化を促し、持続可能な食品ロス削減を実現します。

Edibuddyは、AI技術の力で私たちの日常に小さな魔法をもたらし、より良い未来への一歩を踏み出すお手伝いをします。


参考文献

脚注
  1. 農林水産省「食品ロス削減関係参考資料」(令和4年度) ↩︎

  2. 環境省「食品ロス削減推進法の概要」(令和元年) ↩︎

  3. 消費者庁「食品ロス削減のための消費者教育の推進に関する検討会報告書」(令和3年) ↩︎

Discussion