Last Bite

https://github.com/1010mark/ProgateHack

Next.js

TypeScript

AWS

EC2

RDS

食材の在庫と消費期限を管理し、AIがレシピ提案するサービス

Sirius

1010mark

stevenhsu

肥田琢磨

のなめ

推しアイデア

冷蔵庫の食材の消費期限を一括管理。自分の好みをカスタマイズしAIがレシピを提案。フードロスも献立を考えるストレスもこれで解決。

作った背景

冷蔵庫を開けたとき、「この食材ずっとあるな…」「今日の献立何にしよう…」「あと何買えばいいんだっけ…」そんな悩みを解決するアプリがあれば毎日の料理もきっと楽しくなる。

推し技術

フロントエンドはNextjsを使用した。その中で、複数ページやcomponent間にわたる状態とデータの共有に状態管理ライブラリが必要となってくるが、Jotaiという状態管理ライブラリを私は押しています。

プロジェクト詳細

本WebアプリはProgateハッカソンでAWS賞を頂戴しました。ありがとうございます!

コンセプト

食材の消費期限の管理、料理の好みをカスタマイズしAIがレシピを提案。

アプリの機能

1. 食材管理

食材名、カテゴリ、数量、消費期限などの情報を入力して登録。

2. 提案カート

食材管理に登録されている食材からピックアップし、人数、食事の好み(和洋中)、調理時間、アレルギーなどレシピの方向性を登録。

3. レシピ提案

提案カートをもとにAIがレシピを提案。必要な調味料や、食材の切り方、炒め方など、すべてAIにおまかせで、あとはこれを見て作るだけ。

4. ダッシュボード

食材の使用トレンド、よく使われる食材、食材カテゴリーなどを分析しグラフで視覚化。

技術構成

技術構成図

image

フロントエンド

Nextjs、tailwindCSS、shadcn/UI、Radixを使用してUIを構築した。ページ間のデータ保持と状態管理は Jotai を使用した。

バックエンド

Amazon RDSやAmazon Bedrock・EC2などAWSの機能をふんだんに盛り込みつつ、keycloakでユーザー認証を行った。

使用したAWSの機能

  • EC2
  • RDS
  • Bedrock(Claude 3.5)

脆弱性の対策

2025/3/21に発表された「CVE-2025-29927」というAuth.jsの脆弱性も対策済み

スクリーンショット

ハッカソン中にAWS様に提供いただいた環境を使用していたため、公開用URLは現在停止しています。

image

image

image

image

image

Sirius

@sirius