推しアイデア
置き換えダイエット中、一番悩むのは『これが食べたいけど、何に置き換えればいいんだろう』という瞬間。我慢するか諦めて食べるかの二択しかなかったこの瞬間に、AIが置き換えレシピを即座に提案します。さらに実際に食べたかどうかを記録するだけで、削減カロリーが自動で積み上がり、可視化できる
置き換えダイエット中、一番悩むのは『これが食べたいけど、何に置き換えればいいんだろう』という瞬間。我慢するか諦めて食べるかの二択しかなかったこの瞬間に、AIが置き換えレシピを即座に提案します。さらに実際に食べたかどうかを記録するだけで、削減カロリーが自動で積み上がり、可視化できる
既存のダイエットアプリの多くは「カロリー記録」で終わっていて、『じゃあ何を食べればいいの?』という一番知りたい部分には答えてくれません。チームメンバー自身が置き換えダイエットで悩んだ経験から、「食べたい→我慢/諦め」の二択の間に、AIによる第三の選択肢がほしいのがきっかけ。
置き換え提案にはOpenAI APIによる生成の仕組みを使い、同じ提案に偏らないようEmbeddingsで過去の提案履歴と比較する多様性チェックを実装しました。深夜ラジオ機能では、Generative Agents方式を参考にした。

ダイエット中に「これが食べたい」と思ったとき、これまでは我慢するか諦めて食べるかの二択しかありませんでした。「何に置き換えればいいか分からない」という悩みを解消するために、料理名を入力するだけでAIが置き換えレシピを提案し、実際に食べたかどうかの記録が削減カロリーとして積み上がり、目標体重までの進捗が見えるアプリを作りました。

[システム構成図]
app.pyが全ルートを持つ単一のFlaskアプリで、機能ごとにservice層・repository層を分離。データベース・認証・ファイルストレージはSupabase(Postgres)、AI生成はOpenAI API、音声合成は無料で使えるVOICEVOX(AWS EC2で別サービスとして分離運用)、地図表示にGoogle Maps APIを使用。機能間の連携はHTTP通信ではなく、DB経由の「Shared Database」パターンに統一しています。


-w)を複数にすると、プロセス内メモリで持っている状態(生成中フラグなど)が別プロセスからは見えなくなる、という並行処理の落とし穴