実際、冷蔵庫を開けて「キャベツが半玉、卵が2個、少しの肉……これで何ができる?」とスマホを眺めた経験は、多くの人にあると思います。この「日常の小さな困りごと」を、AIの力で即座にレシピに変えるアプリが、今回開発した 「Leftover Recipe AI」 です。
🍳 Leftover Recipe AI の概要#
Leftover Recipe AI は、手元にある食材と希望の条件(時間、辛さ、難易度など)を入力するだけで、AIが最適なレシピを提案してくれるWebアプリです。

主な特徴#
- 柔軟な条件指定: 「15分で作れる」「子供向けに辛くない」などの細かな要望に対応。
- 視覚的な提案: Unsplash APIと連携し、完成イメージ画像を自動表示。
- 完全無料・ログイン不要: ユーザー自身のGemini APIキーを使用する設計により、プライバシーを保護しつつ運用コストをゼロに。
🛠 技術的な深掘り:プロンプトエンジニアリングの工夫#
AIから実用的なレシピを引き出すためには、プロンプト(指示文)の設計が極めて重要です。本アプリでは、以下の工夫を行っています。
1. 構造化データ(JSON)の強制#
AIの回答をそのままアプリの画面に表示させるため、特定のJSONフォーマットで出力するように制約をかけています。
システム指示の例:
あなたはプロの料理研究家です。与えられた食材と条件からレシピを1つ提案してください。
回答は必ず以下のJSONフォーマットのみで出力してください。余計な解説は一切不要です。
{
"recipeName": "料理名",
"cookingTime": "分",
"difficulty": "初級/中級/上級",
"ingredients": ["食材1", "食材2"],
"steps": ["手順1", "手順2"]
}2. 存在しない食材の制限#
AIは時として「冷蔵庫に無いスパイス」を勝手に追加してしまいがちです。プロンプトに 「指定された食材を使い切ることを優先し、調味料以外の追加食材は最小限にすること」 という一文を加えることで、この問題を解決しました。
🚀 ゼロコスト・プライバシー重視の設計思想#
個人開発において最大の懸念は「API利用料」と「サーバー維持費」です。これを回避するため、本アプリは 「完全クライアントサイド完結型」 で設計しました。

| コンポーネント | 実装方法 | メリット |
|---|---|---|
| フロントエンド | Vite + Vanilla JS | 高速なビルドと軽量な動作。 |
| AI (LLM) | Gemini API (クライアントサイド) | ユーザーのブラウザから直接APIを叩くため、サーバー代が不要。 |
| データ保存 | LocalStorage | お気に入りや設定をブラウザに保存。ログイン機能の実装が不要。 |
| 画像検索 | Unsplash API | レシピ名から自動でイメージを取得。高品質で無料。 |
この設計により、開発者である私はホスティング費用(GitHub Pages等)のみで、数千人規模のユーザーが利用してもコストが全くかからない仕組みを実現しました。
👨💻 開発で直面した課題と解決策#
AIの応答が遅い、またはフォーマットが崩れる#
Gemini 1.5 Flash を採用することで、高速な応答を実現しました。また、万が一JSONフォーマットが壊れて返ってきた場合に備え、正規表現を用いたフォールバック処理をGo(本アプリの場合はJS)側に実装しています。
画像のミスマッチ#
料理名で画像検索すると、たまに意図しない画像が出ることがあります。これを防ぐため、検索クエリに food, recipe というキーワードを自動で付加し、精度の向上を図りました。
🌱 社会的意義:食品ロス削減への貢献(SDGs)#
このアプリの根底にあるのは 「もったいない」を減らしたい という想いです。 日本では年間数百万トンの食品ロスが発生しており、その約半分は家庭から出ています。「余り物で何が作れるか分からないから捨てる」という選択肢を、「AIに聞いて料理する」というワクワクする体験に変えることが、このアプリの真の目標です。
🔮 将来の展望:マルチモーダル連携#
現在はテキスト入力がメインですが、将来的には 「冷蔵庫の中身を写真に撮るだけで、AIが自動で食材を認識してレシピを提案する」 機能を検討しています。Gemini 1.5 の強力な画像認識能力を活用すれば、入力の手間すら省ける、より直感的なキッチンツールへと進化できるはずです。
🔗 アプリを体験する#
Leftover Recipe AI を使ってみる※無料で取得できる Gemini APIキーを設定するだけで、すぐにお使いいただけます。
さいごに#
個人開発は、自分の「不便」を形にする最高の手段です。このアプリが、あなたの毎日の料理を少しでも楽しく、そして地球に優しいものにする手助けになれば幸いです。
感想やフィードバックは、開発の大きな励みになります!











