0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Chromebookとスマホだけで冷蔵庫管理アプリを作ってみる 第1回:-構想編-

0
Last updated at Posted at 2026-09-04

はじめに

一人暮らしの成人男性なら、一度はこう思ったことがあるはずです。

「調味料って、なんで『適量』で売ってないんだろう?」

料理を始めようと張り切って醤油、みりん、オイスターソース、豆板醤……と一通り買い揃えてみるものの、結局仕事が忙しかったりして自炊は習慣化せず、気づいた時には冷蔵庫の奥で賞味期限が数ヶ月過ぎている。

そもそも、自炊が続かない最大の原因は「管理の手間」です。何が冷蔵庫に残っていて、どれがヤバいのかを把握するのが面倒くさすぎる。

そこで今回、「レシートを1枚撮るだけ」「消し込みはワンタップ」「スーパーで本当に確認したい食材だけを目立たせる」という、ズボラな自分でも絶対に続く完全無料のスマート冷蔵庫管理アプリを個人開発しようと思い立ちました。

この記事はまだ完成報告ではなく、「これから作る」宣言と設計メモです。作りながら詰まったところや工夫したところは、追って裏話編としてまとめていく予定です。


こんな方におすすめ

  • 賞味期限管理アプリを使ったことはないけど、必要だなと思っている方
  • Next.js × Supabase × Gemini APIで何か作ってみたい方
  • 「重い開発機がなくてもアプリって作れるの?」と思っている方
  • 個人開発のネタを探している方

使ったことはないけど、ずっと欲しかった

正直に言うと、賞味期限管理アプリを実際に使ったことは一度もありません。「欲しいな」とは思いつつ、既存のアプリをちゃんと調べたこともありませんでした。

そんな中、良い機会だと思って、ちょっと遊びで自作してみることにしました。


機能の目標

今回のアプリで狙っているのは、この4つです。

1️⃣ レシートの写真を撮って記録
入力はレシート撮影の1アクションのみ。商品名・金額・購入日をAIに読み取らせて自動登録する。

2️⃣ 商品名からおおよその賞味期限を算出
外出先(スーパーの中)で見たときに「これはまだ大丈夫」「これはそろそろヤバい」がひと目で分かるようにする。

3️⃣ 撮ったレシートから家計簿を自動作成
食費の集計に加えて、廃棄した食材の金額も可視化し、「今月の食品ロス額」として見える化する。

4️⃣ 期限が近い食材を使ったレシピ提案
冷蔵庫の中身を消費しきるための後押しとして、期限が近いものを使ったレシピをAIに提案させる。


技術構成(完全0円)

役割 技術
フロントエンド/サーバー Next.js(Vercelに無料デプロイ)
データベース Supabase(無料枠)
レシート読み取り・レシピ提案 Gemini API(無料枠)
コード管理 GitHub
PWA化 manifestとservice workerでホーム画面追加対応

今回は入門編的な位置づけの個人開発なので、できるだけ無料で構成できた方が気軽に真似しやすいはず、という考えでこの構成にしています。


開発環境の縛り:重い開発機がない

普通この手の記事は「ローカルにNode.jsを入れて〜」から始まりますが、今回は開発機がChromebookとスマホしかないという前提で進めます。

そこで、開発の考え方を丸ごと切り替えることにしました。

  • コードを書く場所:GitHub Codespaces(ブラウザでVS Codeがフル機能で動く)
  • 動作確認:ローカルサーバーではなく、Vercelにデプロイした本番URLをスマホのブラウザで直接開く

「ローカル環境を用意してからスマホで確認する」のではなく、「push したら即スマホで見られる」という前提に振り切れば、Chromebook + スマホだけでも進められるはず、という見立てです。


これからの流れ

思いついたので、まずはこの流れで手を動かしてみようと思います。

  • ① 環境構築:Chromebookとスマホだけで、GitHub Codespaces上にNext.jsの開発環境を作り、Vercelに自動デプロイされる状態にする
  • ② レシート解析API:Gemini APIに画像を送り、商品名・カテゴリ・金額・即食/保管の分類をJSONで返すAPI Routeを実装する
  • ③ データベース保存:Supabaseにproductsテーブルを作成し、Geminiの解析結果をそのまま保存する
  • ④ エラーハンドリング:Gemini APIの混雑エラー(503)が出たときに、利用者に分かりやすいメッセージを表示する

まずはこの4つで、「レシートを1枚撮るだけ」の入力ゼロ化が実現できるかを検証します。「入力ゼロ」「ノイズレス」を掲げている以上、機能を盛りすぎて結局続かないアプリにならないよう、優先順位はここに絞ります。

というわけで、この計画で進めてみます。実際にやってみてどうなったか(と、案の定出てきた詰まりポイント)は続編にまとめます。

続きはこちら:

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?