事情是这样的。
这两天,我花了相当多时间,盯着一条看起来毫无意义的 Android 通知栏。
它不是什么严重 Bug,App 能打开,按钮能点,配方也能看。可只要页面顶到刘海和状态栏下面,整个东西立刻就从「像一个 App」,变成了「像一个被硬塞进手机里的网页」。
我就在那儿来回调安全区、导航栏、软键盘高度,还顺手把每个按钮的按压、涟漪和页面切换动画重新做了一遍。
折腾到后面,我突然意识到一件挺有意思的事。
我居然真的做了一个调酒 App。
你敢信???
它叫「今夜调酒」。

这个名字听起来挺像深夜酒吧门口的霓虹灯,但它干的事其实特别朴素。
你打开冰箱和酒柜,看一眼手头有青柠、白朗姆、蜂蜜、苏打水,然后告诉它你有什么。它再从现有配方里,帮你找到今晚能调的那一杯。
不是让你先知道酒名。
而是从你已经拥有的东西开始。
我一直觉得,这两个顺序看起来只差了一点,体验却完全不一样。
绝大多数调酒内容的起点,都是一杯已经被命名的酒。
你先看到莫吉托、尼格罗尼、威士忌酸,然后打开配方,发现缺一瓶酒。再换一杯,又少一种糖浆。折腾半天,脑子里记住了不少漂亮名字,杯子还是空的。
这事儿有点像做饭 App 每天给你推荐惠灵顿牛排,结果你回头看了一眼冰箱,里面只有两个鸡蛋和半根葱。
内容没错,场景错了。
所以我做「今夜调酒」时,最想解决的并不是「世界上有哪些酒」,而是一个更小、更真实的问题。
我手头就这些东西,今晚到底能调什么?
这也是整个 App 最核心的一条路径。
打开材料库,最多选五种原材料。果汁、鲜果、辅料、基酒和饮料都放在同一个工作台里。选中的材料会亮起金色描边,底部实时告诉你已经选了几个。
按下匹配之后,App 会根据材料命中数排列现有配方。不是凭空告诉你「最适合你的是某某酒」,也没有什么玄学推荐,就是很直白地告诉你,这一杯命中了几种材料,还缺什么。


说真的,我很喜欢这种诚实。
有就有,没有就没有。
不装。
除了材料匹配,我还留了一个很不讲道理的入口。
随机抽一杯。

有时候你不是缺配方,也不是缺材料,你只是懒得选。
这感觉我非常理解。很多人站在便利店饮料柜前,能盯着几十瓶东西看半天。选择越多,脑子反而越容易卡住。酒单也是一样,三四杯的时候还能认真想,三十多杯摆在面前,人就开始来回滑,然后默默退出。
所以首页可以直接从 34 款酒里抽一杯,连续抽取还会避开上一杯。
这不是多聪明的推荐算法,甚至可以说完全没有算法味儿。它只是替你扔了一次骰子。
但这种小小的随机性,跟喝酒这件事倒是很搭。
我们白天已经做了太多需要负责的选择。回什么消息,做哪个方案,买哪一份东西,几点睡。到了晚上,有时候真的不想再认真比较一杯酒的酸甜苦辣。
按一下。
今晚就它。
如果抽到的结果不合适,也可以搜索酒名、基酒和风味,或者把喜欢的配方留在收藏里。随机负责打开一个入口,搜索负责把你带回明确目标,收藏负责在这次使用里记住那几杯你愿意再做一次的东西。
我不想让这三个入口互相打架。
它们其实对应的是三种很真实的状态。完全没想法,大概有个方向,已经知道自己喜欢什么。
界面能认出这种差别,比单纯再多塞几个按钮重要得多。

目前里面一共有 34 款配方和 47 种原材料,覆盖威士忌、金酒、朗姆、龙舌兰、伏特加、白兰地、葡萄酒、啤酒、白酒、清酒、梅酒、苹果酒和黄酒。
听起来很多,但我不想把它吹成「市面上所有酒」。
不是。
它现在就是一个本地配方库,挑了相对常见的酒类和经典调制方式。没有后台,没有账号,没有云端库存,也不会知道你家的酒柜里到底还剩多少。
但反过来,这种简单也带来了一个我自己很看重的东西。
它完全可以离线使用。
而且是很彻底的那种离线。
不是第一次打开先下载一堆资源,也不是断网之后只剩一个空壳。酒品图片、配方数据、杯量换算和步骤交互都跟着安装包一起进了手机。
我后来检查权限清单时,看到里面没有联网权限,那一瞬间居然有点开心。
怎么说呢,现在看到一个什么权限都不问你的 App,反而会有一种很久没见的轻松感。
它不需要知道你是谁。
也不关心你凌晨一点为什么突然想喝一杯。
它就负责把配方摆出来。
配方、图片和交互都装在 APK 里面,App 没有申请联网权限。哪怕家里网络不稳定,或者你只是懒得注册账号,它照样能打开。
我有时候觉得,现在的软件特别容易陷入一种奇怪的冲动。
什么都想联网,什么都想登录,什么都想把一次简单操作变成一个账户体系。
但调一杯酒这件事,真的不需要这么复杂。
你需要的是把冰块放进杯子,把该倒的东西倒进去,然后在正确的时候摇一摇。
仅此而已。
回到 App 这块,匹配到配方之后,点进去就能看到完整用量。单杯、双杯和分享装会实时换算毫升数,不用自己拿计算器乘来乘去。
然后是我觉得最重要的部分。
它不会只扔给你一段大段文字。
点击「开始调这一杯」,页面会把当前步骤高亮出来。加冰、倒入基酒、加入果汁、摇匀、过滤、装饰,每点一次就往后走一步。你不需要在做事的时候反复找自己看到哪一行,只需要盯住当前这一格。
这块听起来没什么技术含量,对吧?
但我跟你说,很多工具真正好不好用,差别往往就在这种地方。
一张配方表解决的是「我知道了」。
一个会推进的步骤解决的是「我做完了」。
前者是信息,后者才是行动。
说到这里,我想起厨房里一个很老的概念,mise en place。
中文一般会翻成「准备就绪」或者「各就各位」。厨师在真正开火之前,会先把材料称好、切好、摆到顺手的位置。它不是为了让台面显得专业,而是为了让接下来的动作不被寻找和判断打断。
调酒也一样。
你真正需要的不是一座巨大的知识图书馆,而是让材料、用量和下一步,在你伸手的时候刚好出现在那里。
这也是为什么我后来给所有按钮加动画时,没有只想着「做得炫一点」。
按钮按下去会轻轻收住,触点会出现涟漪,场景切换会沿着同一个方向淡出再进入。随机抽酒、选择材料、切换杯量和推进步骤,各自都有不同反馈。
动画不是为了表演。
它是在回答你刚才那一下到底有没有生效。
这事儿在调酒场景里尤其重要。手可能是湿的,屏幕可能放在桌角,注意力也不全在手机上。一个没有反馈的按钮,会让人下意识再点一次。一个反馈太花的按钮,又会抢走你对杯子和用量的注意力。
所以我尽量把它做得克制一点。
按下去,有回应。
然后让路。
为了把它真正装进安卓手机,我还补了状态栏、刘海、手势导航栏和软键盘的安全区。Android 15 走 edge-to-edge,旧系统保留兼容路径。返回键也不是一按就退出,而是按照配方详情、匹配结果、材料库、首页的顺序,一层一层退回去。
这些东西单独看都挺琐碎。
甚至有点无聊。
可当它们全部合在一起,网页才慢慢消失,一个 App 才开始出现。
我是真的觉得,产品很少诞生在某一个惊天动地的大功能里。
它更像调酒。
酒早就有了,果汁也早就有了,冰块更不稀奇。真正让一杯东西成立的,是比例、顺序、温度,还有什么时候该停手。
软件也差不多。
34 款配方不是一个夸张的数字,47 种原材料也不是什么护城河。可如果它们能在一个人打开冰箱、想喝点什么的那几分钟里,刚好给出一条能走完的路径,那它就有了存在的理由。
当然,目前这个版本还很早。
它用的是测试签名,适合直接安装体验,但还不是应用商店里的正式发布版。它没有账号体系,也没有跨设备同步。收藏目前只存在当前运行状态,重新打开 App 后不会保留这次的选择,更谈不上换手机同步。
配方数量也远远谈不上完整。
如果你是专业调酒师,里面很多细节肯定还有继续调整的空间。杯型、冰型、技法、原料品牌,任何一项往深了走,都能再做一整套系统。
我非常理解有人会觉得,手机上查配方还不如直接搜索。
确实,搜索更全,也更快知道某杯酒是什么。
但我想做的是另一个方向。
不是回答「这杯酒怎么调」,而是陪你从「我现在有什么」走到「我真的调完了」。
这两个需求不冲突。
一个负责知道,一个负责做到。
坦率的讲,这个目标听起来比做一个大而全的酒类百科小得多。但你想想看,人真正愿意留下来的工具,往往不是知道最多的那个,而是在某个具体时刻,最懂得把下一步递到你手里的那个。
我希望「今夜调酒」至少先把这一件小事做对。
如果后面继续做,我最想补的也不是一口气塞进几千条配方,而是把这条路径做得更真实。让用户能维护自己的酒柜,让替代材料更清楚,让配方在不同杯型和浓度之间换算得更自然。
慢慢来。
毕竟酒也不是越满越好。

现在回头看,我还挺喜欢最开始那条通知栏的。
就是那条让我盯了很久、看起来毫无意义的 Android 通知栏。
因为当页面终于不再躲到刘海下面,按钮终于有了恰到好处的反馈,返回也终于回到用户以为它该回去的地方时,我突然明白,所谓把一个网页变成 App,并不是换了一个文件后缀。
是你开始认真对待它会出现的那个场景。
夜里,厨房或者客厅的灯没开得很亮,桌上放着半瓶酒、几块冰,还有一颗不知道该怎么处理的青柠。
手机亮起来。
今晚,调一杯。
目前「今夜调酒」支持 Android 7.0 及以上系统,测试版可以直接安装。如果你也想试试,可以留言告诉我你平时手头最常见的三种材料,我也想看看这套材料匹配逻辑,会被大家玩成什么样。
说实话,我自己也还在摸索。
但这件事挺有意思。
永远对世界保持好奇,也永远给今晚留一点灵感。
以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~
谢谢你看我的文章,我们,下次再见。
夜雨聆风