你刚在 ProductHunt 上发布了第一个 SaaS 产品,早上起来看到 Stripe 后台多了 $19 的订阅收入。很开心,于是把 Vercel 升到 Pro($20/月)、Supabase 升到 Pro($25/月)、又买了个 PostHog 付费版。月末一算:收入 $63,工具费 $85。

这个问题在中文独立开发者圈子里重复出现:过早升级基础设施,把还没验证的产品当成已经在跑的业务来养。2026 年 5 月,Vercel + Supabase + Stripe + Resend 四件套的免费额度足够你跑到 PMF 信号出现,不需要提前花钱。

每个阶段该用什么:从 0 到 $10K MRR 的三层选择

以下是 2026 年 5 月各服务的免费额度和升级门槛:

服务免费额度第一个触发升级的指标升级后月费
Vercel100GB 带宽/月, 6000 构建分钟/月带宽耗尽或需要团队协作Pro $20/月
Supabase500MB 数据库, 50MB 存储, 50,000 MAU7 天无活动自动休眠 / 数据库空间不足Pro $25/月
Stripe无月费, 按交易 2.9% + $0.30Stripe 本身不需要升级, 没有月费
Resend3000 封/月, 100 封/天日发送量接近 100 封上限$20/月(5000封)
Clerk(认证)10,000 MAU需要自定义域名登录页或白标Pro $25/月
Upstash Redis每天 10,000 次请求, 256MB缓存命中率下降或需要持久化按量计费 ~$10-30

验证期的总月成本:$0(加个域名 ~$12/年)。早期营收期(100-1000 用户)的核心升级通常是 Supabase Pro($25,去休眠+备份)和 Resend($20),月费 $45-$60。

Vercel vs Cloudflare Pages:2026 年独立开发者该押哪个

Next.js 生态下 Vercel 是默认选项——边缘函数、ISR、中间件支持都是开箱即用。但如果你只做静态站点导出(SSG)或者愿意用 Cloudflare Workers 替代 Vercel Functions,Cloudflare Pages 的免费带宽没有 100GB 上限、构建次数不限。

独立开发者常见的做法:Vercel 跑主站和 API,Cloudflare DNS 做域名解析和 CDN 代理。如果遇到 *.vercel.app 域名在某些地区不可达的问题,在 Cloudflare 绑自定义域 + 橙色云朵代理通常能解决——不需要换部署平台。

Supabase 最大的坑不在功能,在休眠机制

Supabase 免费项目的冷门杀手是 7 天无活动自动暂停。触发条件不是你 7 天没看后台——而是数据库在 7 天内没有任何查询请求。如果你只有一个产品、周末用户量低、或者出去旅行了一周,周一回来会发现 API 全部 down。

两个解法:一是直接升到 Pro($25/月)去掉休眠限制——如果你的 MRR 已经覆盖 $25,这是最省心的选择。二是在 Vercel 上设一个免费的 cron job,每天向 Supabase 发一条 SELECT 1 的查询保持活跃——这属于灰色操作,Supabase 没有官方禁止,也不鼓励。

另一个值得留意的点是:Supabase 免费版数据库只能部署在 us-east-1(美国东部)。如果你的主要用户在亚太,延迟大概在 200-300ms。配合 Vercel 的边缘函数缓存可以减少感知延迟,但写操作延迟没法绕开。

Stripe 接入:税号、MoR 和什么时候该切

接入 Stripe 本身几乎零成本。真正让独立开发者犹豫的问题不是技术接入,而是公司注册和税务合规。

如果走”Stripe Atlas 注册 Delaware LLC + Stripe 公司账户”的路线,首年成本约 $800,后续每年 $400+。如果暂时不想注册公司,可以走 Lemon Squeezy 这种 MoR(Merchant of Record)——Lemon Squeezy 承担 VAT/GST 申报义务,费率 5% + $0.50,比 Stripe 贵约 2%,但省下的是公司注册、税务申报和合规风险。

一条常见的路径:

  • PMF 验证期(MRR < $500):Lemon Squeezy 直接上线,用个人身份收款,不注册公司。缺点是不能自定义结账页面域名、无法使用 Stripe 生态的 Subscription 管理工具。
  • 早期营收期($500-$2,000 MRR):注册美国 LLC + Stripe,转成自有支付体系。Lemon Squeezy 的 5% 在这个区间每月吃掉 $50-$100,不值得。
  • 规模化期($2,000+ MRR):维持 Stripe 并补充 Paddle 作为欧洲用户的备选,或者直接用 Stripe + Chargebee/Recurly 管理订阅。

Resend 的事务邮件不要被过度设计

Resend 适合发的邮件类型:注册验证码、密码重置、欢迎邮件、月度账单提醒。不适用的场景:营销邮件(用 Loops 或 ConvertKit)、聊天消息通知、Webhook 通知推送。

独立开发者最常见的错误是在产品上线前就把邮件模板做得异常精美——自定义组件、A/B 测试、多语言。实际上,头 100 个用户只关心两件事:验证码能不能 5 秒内收到、密码重置链接有没有过期。

Resend 免费版每天 100 封的限制对于验证期产品足够了。升级触发条件不是”用户多了”,而是”某天突然达到日限额导致新用户拿不到验证码”——设一个监控就好了,不需要提前升。

部署到跨境环境时,如果遇到 Stripe Dashboard 或 Vercel 后台在某些网络条件下响应缓慢或触发验证,建议把核心后台操作放到固定 IP 出口上。使用海外服务跑 GitHub Actions / Cloudflare 的稳定线路承载部署流水线和支付后台访问,避免因网络波动导致的部署失败或付款验证中断。

2026 年这层栈还没覆盖的两个缺口

日志和错误追踪:四件套里没有内置的日志管理。Sentry 免费版(5,000 errors/月)足以覆盖验证期。到了规模化阶段,可能需要加 Better Uptime($20/月)做健康检查和告警。

后台 Job 队列:如果你的 SaaS 需要处理 AI 接口调用这类长任务(超过 Vercel Functions 的 10 秒超时限制),需要补一个队列系统。QStash(Upstash 旗下)或 Inngest 都是适合这个栈的轻量选项——前者按请求计费(前 500 次/天免费),后者有免费额度和原生 Vercel 集成。

相关阅读