AI 原生产品 · 个人项目 · 原生 iOS 应用 · 2026 年 10 月

拍拍出

拍两张照片,一分钟拿到一个说得清理由的价格,和一篇能直接发的闲置帖。硕士毕设之后冒出来的想法,我把它做成了原生 iOS 应用:接真实的视觉模型,用自己的衣服测过,有一套自己的设计系统。

试用交互原型
三部 iPhone:第一步「先拍整件衣服」,上方是举着双袖、袖口挂着空白吊牌的珊瑚色夹克吉祥物;识别中的奶油色吊牌,品牌、尺码、材质、成色都写着识别中;结果页的吊牌写着「这件红色上衣,建议卖 ¥65」,下方是一根从想快点出 ¥50 到想多卖点 ¥80 的滑杆
拍照、识别中、结果。一张奶油色吊牌贯穿全程:识别时出现,最后写上价格。
缘起
硕士毕设之后的个人项目毕设和 Goodwill 一起解决二手衣服定价;这个项目把同一个问题带回普通人手里。
平台
iOS · 在 App Store 查看 1.0 于 2026 年 11 月 1 日上架,免费
设计系统
在 Figma 中查看(英文) 颜色和间距变量、带状态变体的组件,命名与代码里的 Theme 令牌一一对应
时间
2026 年 10 月
我的角色
独立完成产品定义 · 设计系统与界面(Figma)· 模型提示词 · 走查、容错测试和真衣服实测 · 上架前的可用性走查与修复 · iOS 开发,和 AI 编程工具一起
技术
SwiftUI · 豆包视觉模型(火山方舟)· 代码和 AI 编程工具一起写

成果速览

0 → 1从想法到原生 iOS 应用,一个人完成
1 套自己的设计系统:象牙底、珊瑚色、奶油色吊牌和一只夹克吉祥物
2 次每件衣服只调用两次模型:识别一次,定价和文案一次
3 项真衣服实测:品牌、尺码、材质都从吊牌上读对了
01

背景与问题

卖闲置,卡在不知道标多少钱

每次搬家我都卡在同一件事上:不知道该给要卖的东西标多少钱。标低了觉得亏,标高了卖不出去,最后送人或者扔掉。定价没有依据,发帖又费劲。

毕设时我和二手零售商 Goodwill 一起做了半年:处理员靠一张价目表定价,普通人没有这张表;我们调研的 131 名员工里,只有 8% 信任 AI 直接给的推荐。两件事定下了这个产品的样子:

  1. 判断 01定价难,难在没有依据

    不能只扔出一个数字:依据写出来,并说清哪些是读到的、哪些是猜的。

  2. 判断 02人不信 AI 替自己做的决定

    AI 只负责读和算,确认与取舍留给人:成色亲手确认,价格自己拨。

02

方案

拍照 → 识别 → 确认 → 发帖

先只做衣物鞋包:吊牌上印着字,读出来的比猜的可靠。四步,一张吊牌贯穿始终。

  1. 01拍照

    先拍整件,再拍吊牌,瑕疵特写选填。从相册选时一格选一张。

  2. 02识别

    第一次发照片前先说清楚发给谁、发什么。吊牌出现,读到什么写什么。

  3. 03确认

    成色先确认;每项标出来源;只问照片看不出来的三件事。

  4. 04发帖

    吊牌落下,揭晓价格。往下是两版文案和售卖卡片,一键复制,哪里不对都能改。

交互原型

按已上架的 1.0 版复刻。选两张照片,同意发送,看吊牌一行行填上,确认成色,吊牌带着价格落下,再拨一拨滑杆。这里不连接模型:T 恤的识别结果是 10 月 21 日真实调用的回放,三件示例衣物用应用内置的预置数据;没有相机,「拍照」会打开相册;不联网、不保存。

这个原型需要 JavaScript 才能运行。下面有应用的真实界面截图。

三个设计决定

  1. 决定 01每个字段都标来源

    「吊牌读到」「照片推断」「需要你确认」三种标签,没把握的标「吊牌没看清」。一眼知道哪里该看一下。成色不确认,估价按钮不亮。

  2. 决定 02价格给区间,滑杆由你拨

    吊牌上一根「想快点出 ↔ 想多卖点」的滑杆,正是我搬家时的纠结。议不议价是另一个开关,价格拨高不会自己写上「成色好」。

  3. 决定 03帖子只写确认过的事实

    三道题都是选填,没答的一律不写。小红书和闲鱼各一版,都能直接改;尺码、成色不对,回确认页改,照片和回答都还在。

03

AI 的分工与边界

每件衣服只调用两次模型

第一次识别:照片进去,品类、品牌、尺码、材质、颜色及各自的来源和置信度出来。第二次定价和文案:确认后的字段和回答进去,三档价格及理由、两版文案出来。滑杆、复制、切换平台都是本地规则,不再调用模型。

  1. 边界 01不鉴定真伪

    常被仿冒的品牌写「无法鉴定真伪,介意慎拍」,永远不写「正品」「保真」。

  2. 边界 02不编造事实

    购入价、穿着次数由用户提供;没回答的一律不写。

  3. 边界 03不假装知道行情

    只给区间,并标出估价把握:同一件 T 恤两次运行给出 ¥45 / 59 / 75 和 ¥50 / 65 / 80。

  4. 边界 04不修物品照片

    修图可能把瑕疵也修没了,那是在误导买家。

出错时,每种情况都有一句人话

照片太糊、不是衣服、超时、断网、额度用完,每种情况一句说明,外加「重试」和「返回修改照片」,照片不会丢。认错了点「这就是衣服,继续」,品牌尺码由你补全。

1.0 没有服务端,手机直接调用模型,用量设了上限:每台设备每天最多识别 20 次。AI 调用收在一个独立模块里,换服务端中转只改这一处。

「这张看起来不是衣服」:夹克吉祥物下写着 AI 看到的像是一个保温杯,拍拍出现在只认衣物、鞋和包;下方是「重拍一张衣服」和「这就是衣服,继续」
不是衣物时:说出看到的是什么,留一条「认错了」的路。
04

怎么做出来的

我写规格和提示词,工具写代码,真衣服来验收

我写产品定义和 Figma 设计稿,把每一轮改动写成规格交给 AI 编程工具生成代码,再在模拟器里走查;接真实模型前先模拟 10 种返回,查每一种出错状态。实测用一件 CMU 的 T 恤:模型从洗标读对了品牌 GILDAN、尺码 M、材质 Heavy Cotton,识别约 4 秒,定价和文案约 4 秒。

上架前的一轮走查:四个必须先修的问题

提交前按专家走查把应用从头过了一遍,结论是先别发:认错成「不是衣服」后点「这就是衣服」会换成一件示例毛衣;结果页没有改信息、改文案的路;没说明就把照片发给第三方模型;「?」按钮什么都不做。修完的样子就是这一页:先征得同意,「?」里能看政策也能撤回;认错了照片留着;结果页能回去改;拍到一半也存成草稿。

「照片要发给 AI 识别」弹层:发给谁、发什么、不保存什么、不同意也能用示例;下方是「同意并开始识别」和「先不了,用示例试试」
第一次发真实照片前:说清楚发给谁、发什么,只问这一次。
「帮助与隐私」页:怎么用一段说明;「发给 AI 的内容」标着已同意,写着同意的日期,下方是「撤回同意」按钮
「?」里:政策、发了什么、什么时候同意的,随时撤回。
走查还改了哪些小问题
  • 滑杆拨到最高价时,文案会自己写上「成色好,不议价」。改成议价单独一个开关,成色只来自你的确认。
  • 「需要你确认」只是个标签,不确认也能估价。现在成色不选,估价按钮不亮。
  • 模型置信度低的字段也打着绿勾。现在标「吊牌没看清」,页面顶上再提醒一句。
  • 示例文案会把「棉」写成「100% 纯棉」,把任何瑕疵都写成「不影响穿」。改成原样保留你的话。
  • 没配置模型时真实照片会悄悄走示例数据。现在直接说服务不可用。
  • 只在确认和结果两步存草稿,拍到一半退出就丢。现在拍照阶段也存;删草稿有几秒撤销。
  • 「复制全部,去发帖」只复制了文字,下一步没说。现在写明「复制后打开小红书发布,在正文里长按粘贴」。

一套自己的性格

设计系统是为它单独建的:暖象牙底、珊瑚色主操作、奶油色吊牌,标题用站酷快乐体,吉祥物是一件袖口挂着空白吊牌的珊瑚色夹克,贯穿全程的吊牌就是它袖口那张。整套系统在 Figma 里是一份独立的库:颜色、间距是变量,组件带状态变体,名字和代码里的 Theme 令牌一一对应。在 Figma 中查看设计系统

首页,第一次打开:夹克吉祥物举着双袖,标题「先拍整件衣服」,珊瑚色「拍照」按钮和白色「从相册选」按钮
第一次打开。
首页,有未完成的草稿:吉祥物缩到标题右侧,下方「最近未完成」是一张吊牌形状的卡片,里面是红色 T 恤的缩略图、「已估价,待发帖」和「查看帖子」按钮
有未完成的草稿时。

下一步

刻意没做:直接发布、实时比价、聊天议价、鉴定。接下来:模型调用挪到服务端中转;识别结果直接填进平台的售卖卡片;扩展品类,第二张照片从「吊牌」换成「有字的那张」。

下一个案例

多端体验 · 交互设计 社交产品为 Bumble BFF 设计的五人线下聚会

粤ICP备2026155250号