一个干了5年后端工程师的人,拿着14万美元年薪辞职,账户里只剩8000美元时,决定all in一个"愚蠢的想法"。6个月后,他的Stripe账户每天醒来都有387美元进账,月经常性收入(MRR)达到10247美元。
但他差点没做成。不是因为技术不够,是因为技术太多——他在"要不要第一天就上微服务"这个问题上卡了整整3个月。
Month 1:用"没用过的不碰"砍掉90%纠结
他给自己定了一条铁律:生产环境没用过的技术,一票否决。
Spring Boot是他的舒适区,但被他亲手毙掉。理由是:单人开发CRUD接口,Node.js+Express编译更快、Docker镜像更小(300MB vs 800MB)、前后端同语言减少切换成本。
最终package.json只有6个核心依赖:Express做API框架、原生postgres驱动、jsonwebtoken自研认证(省下Auth0每月200美元)、Stripe收款、Nodemailer发邮件、Bull处理后台任务。
没有NestJS,没有Prisma,没有GraphQL。数据库用PostgreSQL,25美元/月的Render实例就能跑。全文搜索直接用PG内置功能,省掉Elasticsearch。迁移文件手写SQL,4小时搞定用户系统。
Month 2-3:前端凑合,支付优先
他承认自己"不会设计",选了Next.js+Tailwind。服务器端渲染解决落地页SEO,API路由偶尔替代独立后端。
但第一个真正写代码的周末,他先接的是Stripe。不是登录页,不是仪表盘——是收钱。
「如果没人付钱,其他功能都是自慰。」
他做了最简单的实现:一个/cancel路由处理退订,webhook监听invoice.payment_succeeded,失败邮件手动发。没有复杂的订阅状态机,没有预付费逻辑。上线第一周,3个人付款。
Month 4:被攻击教会他的事
流量突然飙到每分钟500请求,服务器卡死。他以为是产品爆了,查日志发现是爬虫在暴力破解。
应急方案花了2小时:Nginx限流(每秒10请求)、Cloudflare开"Under Attack"模式、fail2ban封IP。没有上Kubernetes,没有自动扩容。第二天写了条定时任务,自动清理72小时前的日志——磁盘满了。
这次事件后他给监控定的规矩:UptimeRobot免费版+每周手动看一次日志。「够用了。真出大事,PagerDuty也救不了单人团队。」
Month 5:从0到100个付费用户的冷启动
他没有广告预算。获客三板斧:在Hacker News发Show HN帖子(带来前20个用户)、给 newsletter 写技术文章(附带产品链接)、Twitter每天发一条构建日志。
最有用的是最后一条。他记录"今天加了暗黑模式""修复了那个该死的时区bug",程序员同行开始关注。第47天,一条关于"为什么不用微服务"的推文爆了,当天注册量翻倍。
定价策略也简单粗暴:29美元/月,年付7折。没有免费增值,只有14天试用。试用到期不转化?自动删数据。「免费用户的声音最响,付钱的最安静。我选服务后者。」
Month 6:10247美元MRR背后的真相
这个数字里有352个付费用户,客单价29美元。但流失率每月8%——他算过,如果降到5%,MRR能到14000。
技术债务开始冒头:手写SQL在复杂查询时痛苦,没有ORM导致新人(如果有的话)难以上手。但他不后悔。「先活下来,再优雅。很多创业公司的墓碑上刻着'我们用了完美的架构'。」
他现在每天工作10-12小时,没有周末。但Stripe的推送通知响起来时,「比任何年终奖都爽。」
下一步?他打算招第一个支持客服,把自己从"回复退款邮件"里解放出来。至于微服务——「等团队有5个人再说。现在这套破烂,还能撑一年。」
如果你也在纠结"要不要用K8s",他的建议是:打开你的银行账户,数一下还能活几个月。那个数字会帮你做决定。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.