2026.07.19

想做产品 · 结果九成时间在配环境 · 一周的账

那天晚上准备睡觉的时候翻手机,突然想不起来这一周到底写了多少「产品代码」。回想一下,好像一行都没写。一周下来,说是在做产品,其实全都是在做「让产品能挣钱」的支持工具。

那天晚上准备睡觉的时候翻手机 · 突然想不起来这一周到底写了多少「产品代码」。

回想一下 · 好像一行都没写。

一周做了什么

明面上做的:

  • Creem 支付集成 (Cloudflare Worker · webhook · D1 · admin CLI · monitor)
  • Stripe 备份通道 (provider-aware routing · TypeScript providers 骨架)
  • 邮件通道 (Cloudflare Worker → Resend · PowerShell helper)
  • Landing 页升级 v3 → v4 (加 About/Contact/Trust · refund 徽章)
  • 法律页三份 (Terms / Privacy / Acceptable Use)
  • KYC 那天的 Sumsub duplicate 拒 + 客服沟通 + Gmail Web 手工发信
  • Fleet infra 设计 (env.BRAND_CONFIG · brand_id migration · 每加新品牌 4 小时)
  • 4 波 subagent 研究 (Creem/Stripe 对比 · CN payout 策略 · KYC 通过率 · landing polish)
  • 决策文档若干

产品本身呢?

产品是 datenix.xyz · 一个 B2B 数据 API。核心接口 · /api/tools/search/api/shops/list 这些 · 一行代码没动。数据库里的 259K SaaS 域名 + 1.6M 电商店铺 · 也没有新增或更新。

一周下来 · 说是在做产品 · 其实全都是在做「让产品能挣钱」的支持工具。

这算不算浪费

我想了很久。结论是不算。但也没那么划算。

不算浪费 · 因为这些配置一次性投入 · 后面产品能挣钱、能稳定运营 · 全指望这些。没有支付 · 没客户。没有邮件 · 沟通不了客户。没有法律页 · KYC 过不去。没有监控 · 服务挂了不知道。没有 handoff 文档 · 下次自己接手要重新学。

这些都是 hurdles · 一个人做产品必须一个个跨过去。

但也没那么划算 · 因为这些工作大部分是 undifferentiated 的。什么意思 · 就是任何一家 SaaS 都要做这些。Creem 集成 · 别人也在做。Terms of Service · 别人也在写。跨境收款 · 别人也在配。datenix 独有的东西 —— 那 30 多个数据源的抓取管道 · 那 1.6M 店铺的 GMV 计算逻辑 · 那 259K SaaS 的 cross-verification · 全部都没进一步。

独立开发者的 undifferentiated 陷阱

Basecamp 的 DHH 有个说法 · 他管这个叫 「undifferentiated heavy lifting」。像基础设施、支付、法律、运营监控 · 每家 SaaS 都要有 · 但都不构成 differentiation。做的时候感觉自己在推动产品 · 其实推动的只是「让产品能存在」。

对大公司 · 这类事有专门的团队 · founder 不用管。对独立开发者 · founder 就是 CFO / DevOps / Legal / Support / Marketing。一周 40 小时里 · 35 小时可能在这些 undifferentiated 事情上。

一个反直觉的现象 —— 独立开发者在产品早期 · 「产品代码」占的时间比例反而低。因为 undifferentiated 事情有下限 · 差 (Terms 找模板抄) 也差不到哪去 · 但每一样都必须做。产品差异化那部分 · 就是自己把 undifferentiated 那 35 小时压到 20 小时 · 挤出 15 小时给差异化。

那 fleet 层的抽象值不值得做

一周里我花了大概一整天在 fleet infra 设计上 · 就是 W52-4 那份 33 KB 文档。核心思想是 · 一个 Cloudflare Worker + 一个 D1 + 一个 Resend 通道 · 通过 brand_id 行级 sharding · 可以承载 N 个 SaaS 产品。

写完那份文档之后 · 我第一反应是 「过度设计」。datenix 一个产品都还没赚到钱 · 就开始想 4 个产品的架构 · 是不是本末倒置。

但转念一想 · 我这个 「一个人做产品」 的模式 · 天然就是 fleet 模式。datenix 是 B2B 数据 API · DocStruct 是 PDF → JSON 工具 · SleepStack 是内容站 + affiliate · 每个产品的付费用户可能都是几十到几百 · 加起来才可能到 500-1000。

如果每个产品都从零搭一遍 undifferentiated 基础设施 · 我的时间就永远在配环境。fleet 层的抽象一次做完 · 之后每加一个新产品 · 只花 4 小时 (配 brand config · 复制 landing 骨架 · 建 Creem 产品 · 部署 · 端到端测试)。这个 4 小时 · 和 「从零搭一套」 的 40 小时相比 · 差一个数量级。

所以那份文档我最后 stage 到 handoff · 但没立刻实施。等 datenix 第二个真实付费客户来了 · 我开始加 DocStruct 时 · 才动手 refactor 到 fleet 结构。到那时 · fleet 抽象是 「立刻可用」 的收益。

早了几年做和晚了几年做

有一件事我这周想通了。

三年前独立开发者做 SaaS · 支付这一层是死结。要么 Stripe (需要海外公司 · 3-6 周) · 要么 Paddle / Chargebee (贵 · 复杂)。国内 founder 卡在这里的太多了。

现在 (2026 年) · Creem / LemonSqueezy / Polar 这类 MoR 出现 · 支付准入变成 「几天到 1 周」 的事。这是外部条件的改变。

三年前独立开发者做 SaaS · edge computing 是新概念。要么用 Vercel (贵) · 要么用 AWS Lambda (复杂)。现在 Cloudflare Workers + D1 + KV + R2 · 一套全免费到 100K 请求/天 · 部署一个命令。

三年前独立开发者做 SaaS · AI 工具是玩具。现在 Cursor + Claude + subagent · 一个人可以做过去 5 个人的工作。

这三件事叠加 · 独立开发者的可能性放大了 10 倍。我现在做的事 · 三年前一个人根本做不了。

我一周做的这些 undifferentiated 事情 · 三年前光 Stripe HK Ltd 那一步就要 3-4 周。现在同样的 Stripe 通道 · Stripe Atlas 一周搞定。同样的邮件基础设施 · Cloudflare Worker + Resend 一晚上就通了。同样的 landing 页 · Cursor + subagent 半天可以出 4 版。

所以这一周虽然感觉全在配环境 · 但相对三年前 · 我的效率其实高了 10 倍。

时间账要不要每天算

我最近有个习惯 · 每天睡前简单记一下这一天时间花在哪里。粗颗粒的:

  • 差异化工作 (只有 datenix / DocStruct / 我在做的这个东西才需要的)
  • undifferentiated 工作 (每家 SaaS 都要做的)
  • 学习 / 研究 / 调研 (可能有用 · 也可能没用)
  • 沟通 (客户 / 供应商 / 客服)
  • 生活杂事

理想状态 · 差异化 40% · undifferentiated 30% · 学习 15% · 沟通 10% · 杂事 5%。

实际现在 · 差异化 5% · undifferentiated 60% · 学习 10% · 沟通 15% · 杂事 10%。

明显的错配。

短期我做不了什么 · 因为 undifferentiated 有下限。但长期通过 fleet 抽象、通过 subagent · 我可以把 undifferentiated 那 60% 压到 30%。这就是我做 fleet infra 设计的真正原因。不是为了架构美观 · 是为了自己以后不用每次都做一遍。

关于 「快」 这件事的一个反思

用户和市场都会催 「快」。快上线、快迭代、快出结果。

但独立开发者的 「快」 和大公司的 「快」 是不一样的。

大公司的快 · 是并行做 100 件事 · 每件事投入 1 个 sprint。独立开发者的快 · 是把一件事做透、以后不用再做。因为你没有并行的余地。

一周内做完 「Cloudflare Worker 支付集成」 · 让我 3 个产品都可以复用 —— 这是快。 一周内做完 「Send-DatenixEmail PowerShell helper」 · 让我以后所有产品发邮件都是一条命令 —— 这是快。 一周内做完 「Fleet infra 设计文档」 · 让我以后加新品牌只花 4 小时 —— 这是快。

反过来 · 一周内如果我在 datenix 上 「快速加 10 个新的 API 端点」· 但其中一半我以后要重写 · 那就是慢。

慢就是快 · 这话对独立开发者尤其对。

现在最不确定的一件事

我不确定这一周搭的这一切 · 什么时候能变成真的钱。

datenix 的 KYC 那晚被拒 · 客服周一早上才回。回信之后我又走一遍 KYC · 一周之后 · 大概是我 Stripe Atlas LLC 到手的时间。到时候 · 就能开始真正接客户。

一个月能不能有 500 美金 MRR · 我心里没数。三个月能不能到 2000 美金 · 也没数。

但我知道 · 如果第一个付费客户拿不到 · 前面 undifferentiated 工作全白搭。这是独立开发者最难的地方 —— 你把地基打得再稳 · 上面的楼要盖起来 · 才算数。

前一秒我在写 launch runbook · 后一秒我在想 「万一 launch 后没人买怎么办」。这两个状态一直在切。

最近学着接受这个切换。焦虑是 baseline · 不会消失。真正的问题不是有没有焦虑 · 是每天有没有能推进一步。这一周至少 · 推进了。就够了。