React Native × Gemini AI × GCP で作る、カメラで食事のカロリーを分析するアプリ「Cal Food AI」
はじめに
「Cal Food AI」というアプリを開発しました。
このアプリでは、スマホのカメラで撮影した食事写真をAIが分析し、カロリーと栄養素を推定してくれます。
本記事では、Gemini AIやGoogle Cloudなどの技術を使った開発の流れについて紹介します。
背景
食事管理アプリは多くありますが、多くが手入力やバーコードスキャンが必要です。
より直感的で手軽な方法として「写真を撮るだけで栄養情報を取得できる仕組み」を目指しました。
使用技術スタック
- フロントエンド: React Native (Expo)
- アプリ内課金: RevenueCat
- AIモデル: Gemini Pro Vision (Google AI Studio経由)
- バックエンド: NestJS
- インフラ: Google Cloud Run, Google Cloud Storage
アーキテクチャ概要
- ユーザーがアプリで食事を撮影
- 撮影画像は Google Cloud Storage に一時保存
- Cloud Run 上の NestJS バックエンドが画像を Gemini Vision API に送信
- Gemini が食品を推定し、該当する栄養情報(独自DB or API)を返す
- ユーザーに総カロリーと栄養素を表示
実際のスクリーンショット
Gemini AI の活用例
Gemini API からは以下のようなレスポンスを取得します:
{
"food_items": ["grilled chicken", "brown rice", "broccoli"],
"estimated_calories": 580
}
Gemini は複数の食材を同時に認識し、それぞれのカロリー計算が可能です。
RevenueCatでの課金管理
アプリ内のプレミアム機能(例:履歴管理やデイリーレポート)は RevenueCat 経由で簡単に実装しました。
公開リンク
📱 Cal Food AI アプリをダウンロード:
iOS: https://apps.apple.com/us/app/cal-food-ai/id6744561874?platform=iphone
Android: https://play.google.com/store/apps/details?id=com.sildeswj.calfoodai
おわりに
「写真でカロリー管理」というコンセプトに興味のある方、ぜひ試してみてください!
技術的な質問やフィードバックも歓迎です 🙌
使用タグの例(投稿時に追加してください)
#AI
#ReactNative
#Gemini
#NestJS
#GCP
#健康
#カロリー管理