本文へ移動
Design Tech
一覧へ戻る

公開済み

ウチフリッジ

レシートの読み取りから食品の在庫・期限管理につなげるアプリです。

制作区分
個人開発
担当
企画・設計・開発
期間
未記録
使用技術
Swift / SwiftUI / SwiftData / Vision OCR / OpenAI API / Cloudflare Workers / D1 / R2

概要と完成イメージ

冷蔵庫の食材を管理する個人開発のiOSアプリです。レシートの撮影から食材登録につなげ、在庫と期限を確認できます。企画・設計・開発を担当し、公開済みです。制作期間は未記録です。

撮影・解析した内容をそのまま確定せず、登録内容を確認して保存する流れを備えています。

背景と課題

家庭で購入した食材の在庫と期限を把握したい人を想定しています。食材を一件ずつ入力する負担を減らすために、レシートを登録の入口にしています。食品ロス削減量や入力時間の短縮効果は測定していません。

調査と仮説

確認できること:OCRの後処理には店名・合計などの除外、数量や容量の行の結合、購入日の抽出を扱うテストコードがあります。解析結果を整理するサーバー処理にも数量の補正や重複行の除去があります。

仮説:認識結果を登録候補として提示し、人が修正できるようにすれば、手入力の負担と誤登録の両方に対処できると考えています。利用者調査や認識精度の測定結果は未記録です。

設計上の判断

自動解析の結果を即座に在庫へ保存する方式に対し、現在の実装では確認・修正を挟んで保存します。認識結果には誤りが入り得るため、確定前に利用者が内容を確認できる設計です。制作時の比較実験の記録はありません。

AIが返した分類をそのまま使うのではなく、食材グループに対応するルールでカテゴリーや期限情報を整理します。AIによる候補生成とアプリ側の規則を分けています。

実装の工夫

OCR後処理で不要行を除去し、商品名と数量・容量をまとめます。サーバー側では表記の正規化、数量の補正、未分類行の重複除去を行います。

在庫の保存処理と端末内の通知設定を扱う処理を分け、保存後に通知を更新する構成です。表示用の候補データと保存対象を区別することで、解析と登録それぞれの責任を明確にしています。

検証と改善

確認できたこと:不要行の除去、数量行の結合、日付抽出、解析結果の分類補正を確認するテストコードがあります。本事例の整理時にはテストを実行していないため、実行成功の証拠としては扱いません。

残る課題:実際のレシートに対する認識精度と、利用者が修正に要する手間の測定です。

次の改善候補:異なる店舗や印字条件のレシートを使い、誤認識の傾向と登録完了までの修正箇所を整理することです。

トップへ戻る