viffit:买之前先穿到虚拟形象上viffit: try it on your avatar before you buy
- 年份
- 2026
- 状态
- 停了
- 结果
- 截图一件想买的衣服,试穿完再对着衣橱说买不买,十八天写完
viffit 冲着一个很具体的犹豫去的:在网上看到一件衣服,加进购物车,然后卡住——穿我身上好看吗?家里有能配的吗?会不会又压箱底?
它先让你捏一个代表自己身材的形象:选体型,填身高体重,脸用默认的通用脸,不想传自己的照片就不用传。之后把看中的衣服截图传进来,穿到这个形象上,再拿你录进衣橱的衣服比一遍,给出三种结论之一:值得买、可以买但还差件能搭的、不建议买。不喜欢就划走,划走本身被记成「不喜欢」,不用另外打分。
代码写在 3 月 11 日到 3 月 29 日之间,十八天 59 次提交。最早的想法不是这个,是「你选个场合,我从你衣橱里挑一套」;第 4 天的一次提交把它整个掉了个头,虚拟形象、试穿浏览、衣橱、买不买的评估一起进来,从帮你搭配变成买之前把关。前端是 Expo 做的 iOS app,后端 Node,数据放 Postgres,另有一个用 Astro 写的落地页。
提交数在这个项目上说明不了什么。那会儿我还不太会写代码,一次提交就是攒下来的一大坨:59 次里一共加进去六万六千行,有 11 次单次超过一千行,最大的一次改了 196 个文件、一万六千多行。
出图占掉了大半时间。试穿图要白底,人要站满画面,只换指定的那一件而不是连带换掉一整套,男女还得分开写提示词,光这些就有十几条提交。中间做过一版讲究的:一次生成三张候选,用脚本比对人物的位置和大小,自动挑最好的那张。跑通的第二天我把它砍了,理由写在提交信息里:一次三张,成本是原来的三倍,不满意再重生成一次更划算。打分脚本还留在代码里,被引用着,没有一处调用。
习惯是先把任务写清楚再动手,仓库里有 33 份任务书;碰到拿不准的技术选择就让两个模型辩一场,留下 28 场记录。其中一场翻出了个问题:图片编辑器的「保存」只把参数写进手机本地,后端真正改图片的那套代码写好了,却从来没被调用过。到最后一次提交还是这样。
最后一次功能提交是 3 月 29 日,4 月 24 日那次只把本地的工作记录存了个档。为什么不做了,提交记录和文档里都没写。issue 关掉了 65 个,还开着 81 个,没有配 CI。152 个测试,后端 19 个在干净 clone 上全过,前端 133 个过 130,挂掉的 3 个是在找一批没进版本库的图片素材,不是逻辑坏了。落地页做完了,还写着「目前仅支持 iOS,Android 版本开发中」,但仓库里没有打包上架的配置,也找不到发出去过的痕迹。它是能跑起来的原型,不是上过线的产品。