Multimodal / LLM App / Full-stack

2026

角色: 用户场景定义、多模态工作流设计、推荐逻辑设计、全栈 MVP 实现

StyleSnap

一个面向消费场景的多模态 AI 产品,可从图片数字化衣物,并结合天气、场景、目标风格和偏好推荐每日穿搭。

影响: 构建了从衣橱录入到推荐结果的完整 AI 产品闭环,展示消费类 AI 想法如何通过真实交互、评分逻辑和可解释输出完成验证。

StyleSnap 推荐结果页,展示天气上下文、穿搭方案与可解释评分拆解。
StyleSnap 首页,介绍数字衣橱与每日穿搭流程。
首页将产品定位为完整的衣橱到穿搭闭环,而不是单一推荐小工具。
StyleSnap 衣橱页,展示已上传衣物与可编辑的衣物元数据。
衣橱是系统的事实来源,让推荐结果真正建立在用户已有衣物之上。

概览

StyleSnap 是一款按完整产品闭环设计的多模态穿搭助手:用户上传衣物图片、建立数字衣橱、输入天气和场景等上下文,再获得 2-3 套基于真实衣橱的可解释穿搭方案。

问题

很多人明明拥有不少衣服,却经常重复穿同几套安全搭配。目标风格在网上很容易被喜欢,但很难用已有衣橱复刻;天气又会影响叠穿、鞋子、舒适度和材质选择,而用户往往不会显式考虑这些因素。

解决方案

我把个人衣橱定义为系统的事实来源,再叠加天气上下文、场景限制、目标风格、色彩协调和用户偏好。这样生成的推荐更像“有边界、可复核的个性化建议”,而不是随意输出。

架构

MVP 前端使用 React、Vite、TypeScript、TailwindCSS 和 React Router,后端使用 FastAPI、SQLAlchemy 2、Pydantic 和 SQLite。后端提供稳定的衣物 CRUD、衣物分析、天气上下文和穿搭推荐 API,同时将视觉识别、天气、评分、推荐和推理能力封装在可替换的服务边界之后。

核心功能

  • 支持相机、相册、拖拽和本地上传的衣橱录入流程
  • 可编辑的衣物元数据,包括类别、颜色、风格、季节和场景标签
  • 衣橱 CRUD、筛选以及基于持久化衣橱的推荐
  • 将原始天气转化为穿搭约束的 Weather Skill
  • 围绕天气适配、风格匹配、色彩协调、场景适配和用户偏好的确定性评分
  • 带评分拆解、推理说明、风险提醒和前后切换的可解释 Look 卡片

技术栈

  • TypeScript
  • React
  • FastAPI
  • SQLite
  • DeepSeek API

实现细节

  • 将推荐评分设计为加权公式,综合天气适配、风格匹配、色彩协调、场景适配和用户偏好。
  • 将系统拆分为衣橱数字化、Weather Skill、推荐引擎和可解释穿搭推理,使每个 AI 能力都更容易替换和评估。
  • 保留规则推荐作为事实来源,同时使用 DeepSeek stylist layer 增强解释、优化语气,并在必要时对已选出的 Look 进行重排。
  • 设计 fallback-safe provider 行为,使 stylist provider 或 vision provider 失败时不会破坏推荐和衣物分析接口。
  • 加入隐私边界:API key 只来自环境变量,后端不记录 key,当前阶段 stylist provider 接收结构化衣物元数据而不是原始图片。

挑战

  • 平衡确定性推荐和 LLM 生成的穿搭语言,让产品保持可解释,而不是变成随意的审美输出。
  • 设计 mock-to-real 架构,使视觉识别、天气、存储和穿搭推理都能在不重写产品流程的情况下替换。
  • 在利用衣物图片的同时,避免 MVP 过早变成存在隐私风险的图片存储产品。

收获

  • 一个好的 AI 产品 demo 应该展示完整闭环,而不是几个看起来像 AI 的孤立页面。
  • 对于多模态推荐产品,结构化中间元数据比直接把原始观察交给语言模型更可靠。
  • 在主观推荐场景中,可解释性很重要,因为用户需要比较方案、理解取舍并覆盖系统判断。
StyleSnap | 吴锋