Day 1,完全不懂算命就开工了
今天这个项目正式开工了。收工的时候数了一下,一共推了 21 个 commit。monorepo 已经能跑起来了,里面有 5 个应用和好几个共享包,还有了一个说不定真能变成产品的雏形。
一只戴着玄学帽子的可爱猫咪坐在电脑前写代码
先倒回去交代一下背景。我之前在 Airbnb、Apple、AWS 写的都是 CTO 级的基础设施,这么一个工程师,怎么就跑去做算命了?
在大厂写代码,写腻了
在大厂当工程师有个问题,需求都是别人定好的,你负责实现,久了你就特别擅长干这个。我做的是基础设施,搞系统扩展,做那种影响千万用户的架构决策。但最乱的那些事我从来碰不到,比如 GTM 策略,定价页的文案,还有「为什么转化率是 2% 不是 4%」这种问题。那些都有专门的人去干,我只管把代码写好。
其实我想自己做一个完整的产品,已经想了好几年了。工程只是其中一块,产品设计、拿用户反馈回来改、商业上的决定,全都自己来。没有 PM 帮你写 PRD,Figma 稿、留存增长这些事也没人替你干,全得自己上。所以找副项目的时候,我给自己定了一条规矩,必须是一个我完全不懂的领域。
为什么选算命
八字、占星、塔罗、解梦、六壬,这些我是真的一无所知。一无所知到什么程度呢,连「日柱」是什么我都说不上来,更不知道出生时辰为什么重要。
但我要的就是这个不懂。我想试一个假设,AI 能不能把领域知识上的盲区全补上?我想问的也不是「AI 能不能帮专家提效」。我想知道的是,一个零基础的人只靠 AI,能不能做出一个可信、有用的产品。
一个零基础的人,靠 AI 当整个知识库,把领域盲区补上,做出可信产品
当然也有现实的考虑。中文市场里想看命理分析的人非常多,但线上的产品做得很差,市面上大部分应用要么是广告农场,要么就是个一段话生成器。反正这个赛道又大又烂,挺适合进去搅一搅的。
先把 monorepo 搭起来
第一个 commit 是「Initial monorepo setup with Turborepo」。大概就是把现有的 5 个 Next.js 应用搬进 apps/,再把能共享的代码抽出来,放进 packages/。
真动起手来没那么简单,import 路径到处报错,Tailwind 的配置也各种冲突。最后抽出来的包是这样的:
-
packages/api— AI 模型抽象层、SSE 流式传输工具 -
packages/auth— Supabase 认证上下文、弹窗、匿名用户处理 -
packages/credits— 积分扣减、余额检查、费用常量 -
packages/database— Supabase 客户端、生成的类型定义、SQL 迁移 -
packages/ui— 共享组件(AppHeader、Footer、ChatPanel) -
packages/config— 统一的 Tailwind、ESLint、TypeScript 配置
光是修 import、确认能构建这两步,大概就占了 80% 的时间。但这种苦是先吃的,前面把坑都踩完了,后面才会轻松。
claude code 不只是拿来写代码的
这次我拿 claude code 当主力开发工具。它是一个真的 coding agent,能读整个 codebase,理解包结构,跨文件改代码,跑测试,然后自己一遍遍迭代。这跟把一段代码贴进去聊天,完全是两种用法。
领域知识这块更有意思。我问它「八字日柱的计算原理是什么」,它给我的除了一段解释,还有能直接跑的 TypeScript 代码。天干地支的循环表、五行生克的矩阵都写好了,连夏令时切换那种边界情况都处理了。
所以我现在做的这个产品,AI 比我更懂业务,这感觉挺奇特的。领域知识归它管,我去定产品和架构上的事,分工正好跟在公司里反过来了。
分工反转:以前别人定需求工程师实现,现在 AI 管领域知识、人只做产品和架构
第一天收工
到了午夜,monorepo 能构建了,5 个应用全跑起来了,共享认证没问题,Supabase 客户端也统一成了一个。用户登录一次,拿到的就是一个积分余额,五个产品都能用。
一天下来 21 个 commit,换来一个能跑的 monorepo。至于算命本身,我还是一窍不通,这个明天再说。
技术栈
-
Monorepo:Turborepo
-
框架:Next.js(App Router)
-
数据库/认证:Supabase(Postgres + RLS + 实时订阅)
-
AI:claude + gemini — 多模型架构,PostHog feature flags 控制每个端点
-
样式:Tailwind CSS,每个应用独立的 design token 主题
-
语言:全栈 TypeScript(strict 模式,16 个包共享类型)
-
部署:Vercel


