← 一覧に戻る

メシテロ — 成分表とパッケージの同時撮影

2026年2月27日 更新

📌 一言でいうと

待ち時間10秒を「次の撮影」に使って体感ゼロにする

🎯 なぜこれが必要なのか

メシテロでは、コンビニ商品のバーコードをスキャンして食事を記録できる。でも、データベースに登録されていない商品だと成分表ラベルを撮影→AIが読み取るというフローになる。

問題は、このOCR(画像から文字を読み取る技術)の分析に約10秒かかること。その間、ユーザーはスマホの画面でスピナー(くるくる回るアイコン)を見てるだけ。

しかも、成分表から読み取れる情報はカロリーやタンパク質などの栄養データだけ。商品名は「不明な食品」になりがち。結局、もう一度パッケージを撮影して商品名を取得する手間が発生する。

だから、成分表の分析を待ってる間にパッケージを撮影させることで、待ち時間を有効活用しつつ商品名の精度も上げる。一石二鳥。

🏗️ 何が変わるのか

今まで

  • 成分表を撮影
  • 10秒待ち(何もできない)
  • 商品名が「不明」のまま
  • 別途パッケージ撮影が必要

これから

  • 成分表を撮影
  • すぐパッケージ撮影に切替
  • 裏でAIが成分表を分析中
  • 両方の結果を自動で合体

📊 ユーザーの操作ステップ

1 バーコードスキャン → 「登録なし」
商品のバーコードを読み取ったが、データベースに見つからなかった場合。「成分表を撮影」ボタンが表示される。
2 成分表ラベルを撮影
商品の裏面にある栄養成分表をカメラで撮影する。撮影ボタンを押した瞬間、AIによる分析がバックグラウンドで開始される。
3 パッケージを撮影(自動で切り替わる)
カメラ画面がそのまま「次はパッケージを撮影しろ」に切り替わる。裏ではまだ成分表の分析が走っている。画面上部に小さく「成分表を読み取り中...」と表示される。
4 結果がまとまって確認画面へ
成分表から読み取った栄養データ(カロリー・PFC)と、パッケージから読み取った商品名・ブランド名が合体して表示される。「この内容で記録」を押せば完了。

💡 ポイント

裏側で何が起きているか: 2つのAI分析(成分表のOCRとパッケージの商品名認識)が同時並行で走っている。ユーザーがパッケージを撮影し終わる頃には、大抵の場合成分表の分析も終わっているので、ほぼ待ち時間ゼロで確認画面に進める。

エラー時の動き: パッケージ認識が失敗しても、成分表のデータがあれば「商品名だけ不明」のまま確認画面に進める。成分表の読み取り自体が失敗した場合はエラー表示になり、撮り直しができる。

変更するファイルは2つだけ: useScanner.ts(カメラの状態を管理する頭脳部分)と FoodInput.tsx(画面の見た目を担当する部分)。既存の他のフローには一切影響しない。

📝 質問モード — テキストを選択してね
✓ 質問を送信しました