ENZH

Day 12-19:功能爆发

这一周,PanPanMao从"有意思的原型"变成了真正的平台——多条产品线、跑得起来的经济系统、让我自己看了都觉得不错的视觉风格。

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

积分经济:看着简单的东西,做起来全是坑

邀请返利

每个用户一个唯一邀请码。邀请人有奖励,被邀请人有欢迎礼。听着简单吧?一个码背后是三层实现:

  1. URL参数?ref=PPM-XXXX-XXXX,落地页捕获

  2. localStorage兜底 — 注册流程中持久化邀请码(用户可能先逛逛再注册)

  3. 服务端校验 — Supabase RPC claim_referral_bonus(),带最大邀请限制、竞态条件防护和反作弊检测

但最有意思的不是技术实现。

返利金额一开始是非对称的——邀请人10积分,被邀请人3积分。结果呢?用户反馈说觉得自己在"薅朋友":"我是在利用朋友来赚积分。"

改成对称的(各5积分)后,邀请量反而上去了。

你以为多给邀请人奖励就能促进传播?不一定。让双方都觉得公平,效果反而更好。激励机制这东西,跟直觉经常是反着的。

PR #59后来修了个bug:link_referral()拒绝了有效的新用户——它在用户还没有任何使用记录之前就检查了usage_log。在防一件还不可能发生的事。典型的过度防御。

用户资料和引导流程

PR #41是一次大改版:可编辑的用户资料字段(姓名、性别、生日、出生时辰、出生地、语言偏好),全局引导弹窗在认证后强制完善资料,还有一个"一键带入我的出生资料"按钮——自动填充八字、占星和K线的输入表单。

语言优先级设计得比较细致:已登录用户的localePreference覆盖浏览器语言,语言切换器会同步回资料。匿名用户走浏览器检测。

看着简单的多语言切换,背后全是状态同步的细节。

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

PR #1:56个文件变更,新增6,881行代码,15次commit。

浏览器里跑机器学习

计算机视觉部分完全在客户端跑,不需要服务端往返:

  • useMediaPipeLoader — WASM懒加载(约3MB二进制文件),模块级缓存。第一次加载慢,之后秒开。

  • useFaceDetector — BlazeFace模型,摄像头预览时60fps跑。给用户实时反馈——摄像头能识别到你的脸。

  • useFaceLandmarker — 478点面部网格。拍照时跑一次。提取三停、五官、十二宫位的测量数据。

  • useHandLandmarker — 21点手部骨架。识别三大主线、辅助线和掌丘位置。

  • useCameraCapturegetUserMedia调用,8秒超时兼容移动端浏览器。

实时效果:掌纹上的绿色标记点,面部特征上的网格。视频画面上叠Canvas层,移动端隔帧渲染保持可用帧率。

PR #35后来给掌纹检测加了GPU→CPU回退。有些设备WebGL报告可用,推理时实际会挂。回退机制检测到失败后自动切纯CPU模式重试。

PR #50把所有WASM和模型文件本地化到了应用静态资源目录——因为中国用户访问cdn.jsdelivr.net根本不稳定。

做中国市场的产品,CDN这一关永远在那等着你。

多模态AI解读

拍下来的图通过多模态prompt发给Claude或Gemini。但光说"看看这个掌纹"只会产出泛泛的结果。prompt设计了四层:

  1. 角色定义 — 你是拥有30年经验的中国相术大师

  2. 知识注入 — 五官、三停、十二宫位、脸型、掌纹含义、掌丘解读规则

  3. 交叉验证 — 用多个相术体系对照检验分析

  4. 结构化输出 — 指定段落结构、置信度、可操作的建议

30个领域测试验证知识包正确性。prompt模板还根据性别注入特定知识:女性用户获得额外的旺夫/克夫分析、柳庄四件解读、女性特有的掌纹特征分析。

从零到上线,四天。浏览器端ML、多模态大模型、结构化AI输出——每项单拿出来都是近年的新技术。但组合在一起的时候,确实有种魔法的感觉。

我自己试用的时候都忍不住想:"这玩意儿怎么还挺像回事的?"

落地页推倒重来

暖棕金色主题不好使了。

产品越来越正经——用户带着关于事业、感情、健康的真实问题来找答案。"温馨"削弱了庄重感。

推倒重来,做成暗黑奢华风。深邃的黑色。金色点缀。猫从可爱吉祥物变成了神秘的预言者。

用户的反馈是"值得信赖"和"专业"。同一个产品,换个色调,用户的信任感就变了。

品牌这东西真微妙。

到第19天的成绩单

7条产品线、跑起来的积分经济、邀请返利系统、暗黑奢华风落地页、浏览器端掌纹/面相识别。大约700次commit。

然后我意识到一件事:瓶颈翻转了。

不再是工程了。工程能力跟得上我的任何决定。

真正难的变成了产品决策——下一步做什么、怎么定位、收多少钱。

当工程不再是瓶颈,你就不得不面对那些更难的问题了。


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