让语言模型协助你完成今日Routine的构建、评测,让有效护肤触手可及。
过去几年,中国护肤市场正全面迈入成分透明化与功效可验证的科学护肤时代。功效型护肤品以18.2%的复合增长率成为行业核心增长引擎,1消费者人均持有产品数量持续上升——但一个结构性问题正在浮现:购买力在上升,使用效率却在下降。
市面上大量的种草内容和成分科普,服务于“购买前”的决策;而当消费者面对自己已有的十几甚至几十款产品时,却缺少一个能够回答以下问题的工具:
这些困扰,是我自己在反复购买、闲置、再购买的循环中亲身经历的。于是我利用工作之余的时间,用 Vibe-coding 构建了一款针对产品组合效果的分析工具 👉 SCoLab.site
"让已有产品达成有效的协作,是 SCoLab 的价值所在。"
SCoLab 不仅是一款个人管理工具,其核心商业逻辑在于:
录入或拍照识别你现有的所有护肤/美妆产品,不再忘记自己有什么,什么时候买,什么时候要换。
AI 分析不同产品搭配的协同效果,帮你找到最适合的 Routine。
结合你的肤质、气候和现有产品,告诉你“最缺的那一款”,让下次购买更有依据。
| 模块 | 核心功能 | 价值所在 |
|---|---|---|
| 豆包2.0大模型 | AI智能分析 | 基于预设信息智能分析组合效果,推荐新品 |
| 注册登录 | Supabase云端数据仓库 | 建立可持续利用的用户数据库,支持跨设备使用 |
| 组合分数记录 | 收藏最爱产品组合 | 记录高分routine,重复最优护肤 / 美妆流程 |
| OCR成分识别 | 智能识别产品成分 | 根据上传的成分表图片,智能识别产品类型、成分并录入产品库,无需繁琐的手动填写 |
| 层级 | 选择 | 为什么 |
|---|---|---|
| 前端 | React + Vite + TypeScript | 保持高效的同时,承载复杂的 AI 交互与状态管理 |
| AI | doubao-seed-2-0-lite | 用于成分识别、护肤流程分析与产品搭配推荐 |
| 数据 | Supabase | 用最低的后端成本,保存用户产品柜与历史分析结果 |
| 架构 | Serverless API Routes | 把 OCR、成分分析、推荐系统拆成独立 AI 工作流 |
| 图片处理 | 本地裁剪 + AI OCR | 减少无效识别与 Token 消耗,让上传体验更稳定 |
| 部署 | Vercel | 低成本部署与持续迭代,后续计划接入独立域名 |
| AI 协作 | AI Studio, Antigravity, Codex | 让个人开发也能完成完整 AI 产品的设计与迭代 |
SCoLab
├── index.html # Vite 应用入口
├── package.json # 项目依赖与 AI / React 环境配置
├── vite.config.ts # 前端构建与开发服务器配置
├── tsconfig.json # TypeScript 类型系统配置
├── metadata.json # 应用元信息与 AI Studio 配置
├── api/ # 服务端 AI 工作流
│ ├── health.ts # 健康检查接口
│ ├── ai/
│ │ ├── parse-ingredients.ts # AI OCR:识别包装成分表
│ │ ├── analyze-ingredients.ts# AI 成分解析:分析功效与风险
│ │ ├── analyze-routine.ts # 搭配逻辑:分析护肤流程协同性
│ │ ├── analyze-shelf.ts # 产品库综合分析:识别闲置与已购产品特性
│ │ └── recommendations.ts # 推荐系统:生成更合理的产品组合
│ └── _lib/
│ ├── doubao.ts # 豆包 AI 调用封装
│ └── http.ts # API 请求与响应工具
├── supabase/
│ └── schema.sql # 用户、产品库、分析记录数据库结构
└── src/
├── main.tsx # React 应用挂载入口
├── App.tsx # 用户输入、页面状态与核心业务流
├── index.css # 全局样式系统
├── types.ts # 产品 / 成分 / AI 分析结果结构化类型
├── vite-env.d.ts # Vite 环境变量类型声明
├── components/
│ └── AuthModal.tsx # 用户登录与身份验证弹窗
├── services/
│ └── aiService.ts # 前端 AI 请求封装与调用管理
└── lib/
├── supabase.ts # 用户数据、产品库、历史记录操作
└── cropImage.ts # 图片裁剪与上传前预处理
App.tsx 一度增长到了 2500 行以上。在处理复杂表单(如“新增产品”Modal)以及图像处理(如“图片裁剪”)时,状态频繁更新导致页面出现重复渲染、交互卡顿等问题。
useMemo 与 useCallback包裹高频计算与函数引用,减少不必要的组件重复渲染。
auth/admin-restricted-operation转换为更明确的引导信息。
Serverless API Routes 中。通过服务端统一管理模型请求,前端只负责用户交互与数据展示,从结构上降低 API Key 暴露风险。
.env 管理敏感环境变量,避免 Key 进入公开仓库。
.gitignore 阻止本地配置文件被上传至 GitHub。
doubao-seed-2-0-lite。
这个点子是实习工作日下班之后的个人时间想到的,刚好自己在护肤,发现有些产品只能晚上避光用,有些产品得避开某些成分用,对用户的专业性要求实在太高了。
周六直接开干,花了个周末就完成了MVP,后续花了约1周的下班后时间小修小改就完成了。之后有持续debug,维护数据库,后面会继续完善迭代更多的功能。
不要畏难!不要畏难!不要畏难!
我们相信,在AI的帮助下,保持对古法的敬畏之心,能够让我们获得更大的价值!