I built a decision app because group chats cannot decide — here is what I learned
I built a decision app because group chats cannot decide — here is what I learned
我开发了一款决策应用,因为群聊总是无法做出决定——以下是我的心得
The problem I kept noticing the same pattern: six people in a group chat, twenty minutes, zero decisions. Restaurant, movie, weekend plan — the loop always ended with “I don’t care, you pick” followed by everyone picking the same thing they picked last time. 问题所在:我不断注意到同样的模式:六个人在群聊里,二十分钟过去了,零决策。无论是餐厅、电影还是周末计划,循环总是以“我无所谓,你选吧”结束,随后大家又选了和上次一样的东西。
So I built Choozy, a free Android app whose only job is to end that loop. What it does: Spin wheel — add your own options, tap once, done. Coin flip — the classic, but with animation that actually makes you accept the result. Card swipe — swipe through options, only one survives. Group mode — everyone scans a QR, everyone adds options, one spin decides for the whole group. Voice input — say your options instead of typing them. 6 presets — Food, Movie/Series, Activity, Quick Pick, Music, Game. It works offline and ships in 5 languages (Turkish, English, German, Spanish, Portuguese). 于是我开发了 Choozy,这是一款免费的安卓应用,其唯一任务就是终结这种循环。它的功能包括:转盘——添加你自己的选项,点一下,搞定。抛硬币——经典玩法,但配有让你真正接受结果的动画。卡片滑动——在选项中滑动,只有一个能胜出。群组模式——每个人扫描二维码,每个人添加选项,一次旋转决定整个群组的选择。语音输入——直接说出选项,无需打字。6 个预设——美食、电影/剧集、活动、快速选择、音乐、游戏。它支持离线使用,并提供 5 种语言版本(土耳其语、英语、德语、西班牙语、葡萄牙语)。
Things I got wrong first: 1. I built the wheel before I built the presets. A wheel is only useful if it already has options in it. The first version opened to an empty wheel and the app was useless for the first 30 seconds — which is exactly when people abandon it. Adding presets raised first-session completion more than any animation I wrote. 我最初犯的错误:1. 我先做了转盘,后做预设。转盘只有在已有选项时才有用。第一个版本打开时是一个空转盘,应用在前 30 秒内毫无用处——而这正是用户放弃应用的时候。添加预设对提升首次会话完成率的作用,远超我编写的任何动画。
-
Animations are the product. This sounds superficial, but the spin has to feel final. If the result appears instantly, people re-spin. A two-second deceleration makes the outcome feel decided, and the user accepts it. I spent more time tuning the timing curve than on any other single screen.
-
动画就是产品本身。这听起来很肤浅,但旋转必须给人一种“尘埃落定”的感觉。如果结果瞬间出现,人们就会重新旋转。两秒钟的减速过程让结果显得不可更改,用户也会因此接受它。我在调整时间曲线(timing curve)上花费的时间,比在任何其他单个页面上花费的都要多。
-
Offline is a feature, not a checkbox. The whole point is speed. If the app needs a network round-trip to spin a wheel, it lost. Everything that can be local is local.
-
离线功能是核心特性,而非可有可无的选项。这款应用的核心就是速度。如果转动转盘需要网络往返,那它就失败了。所有能本地化的内容都必须本地化。
-
Group mode is the actual growth loop. A decision app for one person is a utility. A decision app for a group is something people send to friends. The QR join flow took the longest to build and it is the reason the app spreads.
-
群组模式才是真正的增长循环。单人决策应用只是一个工具,而群组决策应用则是人们会分享给朋友的东西。二维码加入流程的开发耗时最长,但它也是应用得以传播的原因。
Stack: Flutter, single codebase, Android first. AdMob for a free tier with an optional ad-free upgrade. No account, no signup, no data collection — which is the other reason people trust it with a group decision. 技术栈:Flutter,单一代码库,优先适配 Android。采用 AdMob 提供免费版,并提供可选的去广告升级。无需账户、无需注册、不收集数据——这也是人们信任它并将其用于群组决策的另一个原因。
Try it: If you have ever let a group chat die over dinner plans: Play Store: https://play.google.com/store/apps/details?id=com.decisionmaker.choozy Web: https://minval.tr/choozy/ Happy to answer anything about the Flutter side, the animation curve, or the QR group flow. What would you have done differently? 试用一下:如果你曾因为晚餐计划而让群聊陷入死寂: Play Store: https://play.google.com/store/apps/details?id=com.decisionmaker.choozy 网页版: https://minval.tr/choozy/ 我很乐意回答关于 Flutter 开发、动画曲线或二维码群组流程的任何问题。如果是你,你会做出什么不同的处理?