ENZH
和 AI 讨论这篇文章
ChatGPTClaude

瓶颈从工程转到了产品决策

这一周盘盘猫加的东西特别多,多了好几条产品线,积分经济真的跑起来了,视觉风格也整个换了。感觉现在叫它平台也不算吹了。下面按功能挨个讲。

盘盘猫抛接多个功能模块:手相识别、邀请码、积分币盘盘猫抛接多个功能模块:手相识别、邀请码、积分币

积分经济,看着简单做起来全是坑

邀请返利

需求一句话就能说完,每个用户有一个唯一的邀请码,邀请人拿奖励,被邀请人拿欢迎礼。就是最普通的邀请裂变,哪个产品都有。可真做下来有三层。(a) 落地页先把 URL 参数 ?ref=PPM-XXXX-XXXX 抓下来。(b) 用 localStorage 兜底,因为用户很可能先逛一圈再注册,这个码得在整个注册流程里一直留着。(c) 服务端再校验一遍,用的是 Supabase RPC claim_referral_bonus(),里面限制了最多能邀请多少人,防了竞态条件,也做了反作弊检测。

一个邀请码怎样穿过 URL 参数、localStorage 兜底、服务端校验三层都不掉一个邀请码怎样穿过 URL 参数、localStorage 兜底、服务端校验三层都不掉

返利一开始定得不对称,邀请人 10 积分,被邀请人 3 积分。结果用户反馈说这是在「薅朋友」,原话是「是在利用朋友赚积分」。改成两边各 5 积分以后,邀请量反而上去了。所以多给邀请人奖励,不见得就能让更多人去传,两边都觉得公平,效果反而更好。这跟我原来的直觉正好反过来。我一开始想的是邀请人拿大头才有动力去拉人,结果不是这么回事。

邀请返利改成对称各 5 积分后传播反而变好——不对称多给邀请人反而没人传邀请返利改成对称各 5 积分后传播反而变好——不对称多给邀请人反而没人传

后来 PR #59 修了一个 bug。link_referral() 会把有效的新用户拒掉,因为用户还没有任何使用记录,它就先去查 usage_log。新用户哪来的使用记录?这等于在防一件当时根本不可能发生的事,典型的过度防御。

用户资料和引导流程

PR #41 是一次大改版。用户资料里的字段(姓名、性别、生日、出生时辰、出生地、语言偏好)全都能编辑了,登录认证之后会弹一个全局的引导窗,让用户必须把资料补完整。还加了个「一键带入出生资料」的按钮,八字、占星和 K 线这几个功能的输入表单可以自动填好。

语言用哪个,这块做得比较细。已登录用户的 localePreference 优先于浏览器语言,匿名用户就看浏览器检测出来的语言,用语言切换器切完,还要同步回资料里。反正都是状态同步的细活,不难,就是琐碎,做的时候得一个状态一个状态地对。

手相面相,整个项目技术最硬的功能

浏览器里跑机器学习

计算机视觉全在客户端跑,不用来回请求服务端。一共五个 hook,各管一段:

  • useMediaPipeLoader:WASM 懒加载(大概 3MB 的二进制),模块级缓存,第一次慢,之后秒开
  • useFaceDetector:BlazeFace 模型,在摄像头预览里按 60fps 跑,实时告诉用户「摄像头能识别到脸」
  • useFaceLandmarker:478 点面部网格,拍照时跑一次,提取三停、五官、十二宫位的测量数据
  • useHandLandmarker:21 点手部骨架,识别三大主线、辅助线和掌丘位置
  • useCameraCapture:封装 getUserMedia 调用,8 秒超时,兼容移动端浏览器

实时看到的效果是,掌纹上有绿色的标记点,脸上有一层特征网格。做法就是在视频画面上叠一层 Canvas,移动端隔一帧渲染一次,让帧率保持在能用的水平。整个功能是在 PR #1 里一次上的,改了 56 个文件,新增 6,881 行代码,前后 15 次 commit,反正就是挺大一坨。

后来 PR #35 给掌纹检测加了 GPU→CPU 回退。因为有些设备的 WebGL 说自己能用,真跑推理的时候却挂了,现在检测到失败,就会自动切到纯 CPU 模式再试一次。PR #50 把所有 WASM 和模型文件都搬进了应用自己的静态资源目录,因为中国用户访问 cdn.jsdelivr.net 根本不稳。做中国市场的产品,这类东西只能全部自己 host。

多模态 AI 解读

拍下来的图片会用多模态 prompt 发给 claude 或者 gemini。光说一句「看看这个掌纹」,只能拿到很泛的结果,所以 prompt 分了四层。(a) 先定角色,让它当一位有 30 年经验的中国相术大师。(b) 再往里塞知识,五官、三停、十二宫位、脸型、掌纹含义、掌丘都给了解读规则。(c) 要求它用好几个相术体系交叉验证着分析。(d) 最后规定输出的结构,包括怎么分段、置信度多少,还要给能照着做的建议。

知识包对不对,靠 30 个领域测试来验。prompt 模板还会按性别塞进对应的知识,女性用户会多拿到旺夫/克夫分析、柳庄四件的解读,还有女性特有的掌纹特征分析。

这个功能从零到上线只用了四天。浏览器端 ML、多模态大模型、结构化的 AI 输出,每一样单拿出来都是这几年才有的东西,凑到一起居然就能用。我自己试的时候都在想,这玩意儿怎么还挺像回事的?

落地页推倒重来

原来那套暖棕金色的主题不行了。产品越做越正经,用户是带着事业、感情、健康这些真实的问题来找答案的,界面太「温馨」反而显得不够庄重,或者说撑不起这种话题。

于是整个推倒重来,改成暗黑奢华风,深黑的底,金色点缀,猫也从可爱的吉祥物变成了神秘的预言者。改完以后,用户反馈里开始出现「值得信赖」「专业」这种词。产品还是那个产品,只是换了个色调,用户对它的信任就不一样了。

第 19 天的成绩单

数一下这周做了什么:7 条产品线、跑起来的积分经济、邀请返利系统、暗黑奢华风的落地页,还有浏览器端的掌纹和面相识别,背后大概是 700 次 commit。

感觉工程这边已经不怎么卡我了,想做什么基本都能做出来。真正卡住我的是产品决策,下一步做什么,怎么定位,收多少钱。这三个问题,写这篇日记的时候我还没想清楚。

瓶颈从工程转移到产品决策——工程管道被撑宽,产品决策成了新的窄口瓶颈从工程转移到产品决策——工程管道被撑宽,产品决策成了新的窄口

和 AI 讨论这篇文章
ChatGPTClaude

订阅更新

新文章发布时发到你的邮箱,不发别的。


© Xingfan Xia 2024 - 2026 · CC BY-NC 4.0