ウイスキーにハマったので AI と一緒にアプリを作ってみた

ウイスキーにハマったので AI と一緒にアプリを作ってみた お酒のこと -drinkin-

2024年くらいからウイスキーに興味を持ち始め、2026年に入ってバーボンにハマりました。

酒の沼にハマると現地に行きたくなる

過去、テキーラにハマった時にはあれよあれよとボトルが増えて…

テキーラのボトル

メキシコ・テキーラ村に行ってきたんですが…

テキーラ!

それくらいの熱量を感じているバーボンです。2ヶ月くらいでこうなりました。

バーボンの沼

テキーラの時は、情報を発信している人が少なく、逆にいえば良い情報に巡り合うまでにスキルは要らなかったというか、検索すれば正しいゴールに辿り着けた感があったのですが、ウイスキーはいろいろな人がいていろいろな好みがあるし、種類もいろいろ、日本にもいろいろなウイスキーがあるし、なかなか難しいと感じています。そこで、AI に自分の好みを入力して、どんな傾向があるか相談をしたり、オススメのものを購入したりしていました。その中で「そういえば甘い香りのお酒が好き」ということに気づき、バーボンに傾倒してきました。状況が整えば、ケンタッキー州に行く手配を始めるのですが、さすがにすぐには難しそう…

ということで、なんとなくやってみようと思ったのがアプリ開発です。

飲んだお酒を記録するアプリはいろいろあるけど

飲んだお酒を記録して、それに基づいてオススメをしてもらうということを AI(Claude)とやっていたんですが、もうちょっとちゃんと管理をしたいよな、と思いました。で、飲んだお酒を記録するアプリはいろいろあるし、ワインや日本酒のアプリは使っていたのでウイスキー版を探したんですが、程よいのが無かったんですよね。Twitter や Facebook の仕組みが変わって、ログインや登録ができないものもありました。

だったら、最近はコードが書けなくてもアプリ開発ができると聞くし、実際にやってみようと思いました。

ウイスキーの記録アプリで何がしたいのか?

全く仕組みやサーバー関係のことは考えずに、とりあえず必要な機能を AI と相談して考えます。僕は一番最初に入力したのは以下の通りです。

ウイスキーなどを飲んだときに感想などを入力して、あとから振り返りや比較、レコメンドができる Android アプリを作りたいです。

それに対する返答は…

いいですね!ウイスキー記録アプリ、楽しそうなプロジェクトです。
まずは要件を整理させてください。

基本機能として想定されるもの
記録機能
・銘柄名、蒸留所、種類(シングルモルト、ブレンデッド等)
・飲んだ日付、場所
・香り・味・余韻などの感想
・評価(5段階など)
・写真
振り返り・比較
・一覧表示、検索、フィルタリング
・評価順や日付順のソート
・複数銘柄の比較ビュー
レコメンド
・高評価のウイスキーに似た傾向のものを提案
・好みの傾向分析
確認したいこと
・開発経験はどのくらいありますか?(Kotlin/Java、Androidアプリ開発の経験など)
技術選定について希望はありますか?
・ネイティブ(Kotlin + Jetpack Compose)
・クロスプラットフォーム(Flutter、React Native)
データの保存先はどうしますか?
・ローカルのみ(オフライン対応、シンプル)
・クラウド同期あり(バックアップ、複数端末対応)
レコメンド機能の実現方法
・シンプルなルールベース(同じ蒸留所、似た産地など)
・AI活用(より高度な味の傾向分析)

方向性が決まれば、具体的な設計やコードに進めます。

と返ってきたので「開発経験なし、技術についてはわからない。データはローカルのみでもOKだけど、できたらサーバにあげてみたいです。レコメンドはAI活用が必須」と回答しました。

そこから AI の指示のもと、開発環境の準備からスタートしました。コードや技術についてはわからないのですが、Mac でターミナルを起動してコマンド入力するという知識はあったので、それが活きました。というか、必要だったのはそれだけでした。

で、開発環境を整えつつ、アプリの構成を考えます。ここは他のお酒のアプリを使っていたこともあり、頭の中に構想があったので、それを入力しました。

構成は理想では以下のようになります。実装できるところまででOKです。

📱 ウイスキー記録アプリ
├── ホーム(記録一覧)
├── 新規記録
│ ├── 基本情報(銘柄、生産国、種類、度数、価格)
│ ├── テイスティングノート(飲み方を選択したあとで香り、味、余韻)
│ ├── 評価(100点満点 + 自由コメント + マトリクス入力)
│ └── 写真
├── 比較モード(これまで飲んだものをマトリクスで表示。縦横軸は要検討)
│ └── タブ切り替え(飲み方別、国別など)
├── 分析・レコメンド(AI機能)
│ ├── 好みの傾向分析
│ └── 次に試すべき銘柄提案
└── 設定

で、各機能や求めるものの詳細を話し合って詰めていき、なんだかんだ8時間くらいで完成しました。途中、AI レコメンド機能のために Claude API を契約(?)する必要があり、5ドルの支払いが発生しました。(以降、AI を使用するごとに3円くらいかかるので、オススメは控えめにしようと思う)

実装できた機能は以下の通り。

✅ 機能状態
✅ 記録一覧・検索・フィルタ
✅ 新規記録・編集・削除
✅ 写真(カメラ/ギャラリー)
✅ 100点評価(±ボタン付き)
✅ マトリクス評価
✅ 飲み方別テイスティングノート
✅ マトリクス比較モード
✅ クラウド同期(写真含む)
✅ AI分析・レコメンド
✅ カスタムアイコン

ちょっと迷ったのはマトリクス表示の評価軸についてでした。ただ、「自分だけがわかればいいや」&「あとで変えてもいいか」ってことで、まずは完成を目指しました。

マトリクス表示

時間のかかった箇所

比較的スムーズに進んでいく中でも、ちょっと時間がかかったのが「カスタムアイコンの設定」と「写真のクラウド同期」でした。

アイコンは最初どうでもいいかなと思っていたんですが、アプリをスマホに入れた時に「やっぱりほしい!」となり、Claude に作ってもらったんですがあまり出来が良くなく、Gemini を活用して自作しました。

アプリのアイコン

写真のクラウド同期では、一度同期した写真がクラウド上にはあれど、アプリに落ちてこない… というような現象がありました。

問題の原因
_uploadPhoto で upsert: true を使っていますが、既にバケットに同じファイル名の画像がある場合、アップロード処理で何らかのエラーが発生して null を返していた可能性があります。
v16の修正で photo_url が null でも上書きしなくなったので、既存データは保護されるようになりました。

この2つでそれぞれ1時間くらい消費したんだけど、次からどうするかという対策は「カスタムアイコンを予め要件に入れて画像を用意しておく」くらいしか思いつきません。

アプリが自作できるのは楽しい!

そんなこんな調整もあって、バージョン16で完成しました。今後、ケンタッキーに行く目処が経ったら、僕の好みを的確に英語で伝えてくれる機能や銘柄を入れると日本での販売価格を調べてくれる機能なんかを追加したいと考えています。

バーボン熱を活かして、人生初のアプリ開発をしてみましたが、当初考えていたよりも良いものができたし、とても楽しかったです。次はお子サマー用に何か作ってみようかな〜。

タイトルとURLをコピーしました