Day 1,完全不懂算命就开工了
今天正式给这个项目开了工。到收工的时候数了一下,推了 21 个 commit,一个 5 个应用、好几个共享包的 monorepo 已经能跑起来了,还有一个说不定真能变成产品的雏形。
一只戴着玄学帽子的可爱猫咪坐在电脑前写代码
先倒回来交代一下背景:一个在 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


