プロダクト開発中
うちのこんだて
晩ごはんの記録・献立の投票・晩ごはんとお弁当の要否を一覧できるごはん表・外食やおでかけの計画・家族のチャット・レシピ帳を、ひとつのアプリで家族と共有します。Android と Cloudflare Workers で作っています。
課題
毎日の晩ごはんは、「今夜は誰がいるのか」「明日のお弁当はいるのか」「週末は何を作るのか」といった小さな確認の積み重ねです。 連絡がチャットや口頭に散らばると、作る人だけが確認に追われ、家族の「これが食べたい」も流れていってしまいます。
何を作っているか
家族の晩ごはんとお弁当、週末の予定までを、ひとつにまとめる家族のためのアプリです。
- ごはん:作った料理を写真とひとことで記録し、家族が「食べたい」を入れられます。票の集まった料理から候補を選んで、週末の献立を家族で投票できます
- よてい:縦に家族、横に日付を並べた「ごはん表」で、晩ごはんとお弁当がいるかどうかを一目で確認できます。「おそくなる」も選べ、日ごとにメモを残せます。「来週の平日はお弁当がいる」のように、何日分かをまとめて決めることもできます
- やりたい・けいかく:外食やおでかけ、旅行などの「やりたい」を提案として残し、行き先を家族で投票して、日程・予算・参加者をまとめた計画にできます。決まった予定は、ごはんの予定と同じ日程表に並びます
- はなす:写真を添えられる家族のチャットと、残しておきたい出来事を書くブログ
- レシピ:わが家のレシピ帳と、手元の食材から AI でレシピを探す機能
家族は招待コードで参加します。招待コードには有効期限があり、1つのコードで参加できるのは5回までです。
技術的アプローチ
- アプリは Kotlin と Jetpack Compose で作り、レシピ帳は端末内の Room データベースに保存して、通信できない場所でも使えるようにしています
- 家族で共有する記録・投票・予定・チャットは、Cloudflare Workers と D1 に置き、写真は R2 に保存しています
- サーバーは Firebase Authentication の ID トークンを検証し、Firebase App Check で正規のアプリからの通信だけを受け付けます。予定の書き換えは本人の行だけに限るなど、権限の確認はサーバー側で行います
- 招待コードでの参加と AI の呼び出しには回数の上限を設け、使いすぎや総当たりを防いでいます
- AI でのレシピ探しは、サーバーから Gemini を呼び出します。API キーはアプリに入れず、サーバーだけが持っています
- ごはん表の切り替えは、押すたびにすぐ画面に反映し、続けて押したときは最後の状態だけを送る作りにしています。押し間違えたときは、元に戻す・やり直すで戻せます
使いやすさの工夫
- ダイアログを出さない予定入力:晩ごはん・お弁当は、押すたびに「いる → いらない → おそくなる」と切り替わります。毎日のことなので、確認の画面をはさまずに済むようにしました
- 読みやすい色:明るい黄色を基調にしつつ、ボタンの文字色は背景の色から自動で決め、コントラスト比 4.5 以上を自動テストで確かめています
- 家族ひとりで確かめられる評価環境:パパ・ママ・子どもなど、家族のメンバーを切り替えながら操作できるローカルの評価環境を用意し、本番のデータに触れずに複数人での使い方を確かめています
現在の状態
Android 版を開発中です。家族のテーマ曲「また、これ食べたい」も、アプリの中で聴けます。
今後
実際の家族での使い心地を確かめながら、予定の変更を家族に知らせる通知や、まとめて決める操作の改善を進めます。
つかっている技術
- Android
- Kotlin
- Jetpack Compose
- Room
- Cloudflare Workers
- D1
- R2
- Firebase
- Gemini


