读到了一篇非常棒的独立开发年终总结,转发过来和大家分享。作者是laike9m,播客捕蛇者说(https://pythonhunter.org/)的创始人,他的独立开发产品clicknow.ai是Mac平台最好用的划线AI搜索/翻译工具(开箱即用,买断制,无需api),同样也是他的第一个产品,这篇文章很大程度上围绕着这个产品进行总结与感悟。原文链接:https://indie2024.laike9m.com/
关于本书
大家好,我是 laike9m(https://laike9m.com/)。关注我一段时间的朋友们可能知道,我喜欢写文章,但从来不写年终总结——值得写的往往已经写过,其它的似乎也没什么可写。然而 2024 对我是特别的:我踏上了独立开发之旅,发布了自己的第一款产品 Clicknow(https://clicknow.ai/)。作为一个新手,我还难言有什么成功经验。但这短短一年确让我有很多体悟,因此想以年终总结的形式记录一下。
本书免费且开源(https://github.com/laike9m/indie2024)。同时提供付费 PDF 版本(https://laike9m.lemonsqueezy.com/),包含额外内容(产品的收入情况)。
为什么是独立开发?
开始一段新旅程总是需要理由,而我的理由是多方面的。我是一个长期的开源爱好者,GitHub 某种程度上算是我编程的起点。多年来,我习惯于把点子变成现实,并且享受创造带来的乐趣。公司虽然能提供薪水,却提供不了创造带来的价值感和自我认同。我曾经问自己:如果在大公司干一辈子,这个职业生涯是否另我满意?除非有万里挑一的事业运,否则答案大概率是否定的。多年来的打工经验告诉我,想在公司做出一款真正有 impact 的产品基本看命,更不要说大部人根本机会没有主导一款产品。假设七十岁时别人问我你这一辈子干了啥,而我却只能回答“我把 X 的响应时间减少了 xx ms,让 Y 新增了 1M 用户”,这种想想就挺恐怖片的。我不想度过这样的一生。再者,我想获得不依靠公司生存的能力,而这和我的人生目标有关:我有一个想研究的课题,它可能要花费数年甚至数十年。朝九晚五可以帮我积攒金钱,在其它方面却无助于实现这个目标(比如时间占用)。此外,身处这个不确定性激增的时代,人是否能安稳地打一辈子工也要存疑,多一条路总是好的。我不推荐一上来辞职全职独立开发,当然这只是我的个人观点。同时,我认为自己很适合独立开发,而相对没那么适合 startup。这两者的区别我在《我想怎样做个人产品》和《湾区与独立开发》 里写过,故不再赘述。至于适合独立开发的结论,则是从自己的性格和过往经历得出。我喜欢创造,有很多想法,有相对合格的执行力,这些都和独立开发契合。在过去主导一款公司内部产品时,我享受和用户对话及帮他们解决问题。诚然,我欠缺商业知识和经验,而这些也恰恰是我想通过独立开发来学习的。最后,可能也是最重要的:我想获得一段人生体验。人活一世,为什么不做自己想做的事呢?成功与否,真的有那么重要吗?
独立开发很难
“独立开发难”是一个共识,但具体怎么难,难在哪?我想结合自己的体验聊聊。
独立开发不只是写代码
虽然含有“开发”二字,但独立开发本质上是一个商业行为,你可以称其为“一人公司”或者“solo entrepreneur“。在技术之外,你需要考虑诸如产品设计、品牌、定价、宣传等很多方面。相信很多人和曾经的我一样,对这些毫无概念,毕竟公司里既学不到也用不到(可能创业公司除外)。有人说产品经理和设计师更适合独立开发,或许不无道理——因为他们掌握了更多代码之外的技能,而补齐技术如今在 AI 加持下已变得相对容易。除了技能,认知(mindset)是程序员们更大的短板。如果你把独立开发看作是“一个人写代码”,那就很容易走入误区,比如:
- 花费大量时间构建出一款产品,最后发现只有自己需要
- 打造出一款免费产品,却并未想好商业模式,导致入不敷出
- 产品可能很好,但因为不重视宣传完全卖不出去
只有正确认识“独立开发”,我们才能意识到需要补齐的短板,并通过学习和实践来提高。
独立开发需要坚强的内心独立开发者们会遇到许多挫折,其中既有关于产品的,比如卖不出去、用户差评、服务上线即崩溃,也有关于开发者本人的,比如收入无法应付开销、家人不理解不支持、同时打两份工睡眠不足等等。不要看网上有些人大晒收入,似乎独立开发是一件既爽又赚钱的事,事实完全不是这样。即便是独立开发之王 levelsio,在 Therapist AI 项目上也备受打击,因为他尝试了很多方法收入却一直达不到预期,最后只得关闭服务。我再举几个自己的例子:
- Clicknow 曾经整个月一份也没卖出去;
- 感恩节促销,十几个人反馈无法激活,两天我总共睡了不超过五个小时;
- 一开始没用 HTTPS,被人挂到了推上甚至搬去微博嘲笑(当然这点确实是我的问题)
独立开发就是一个不断受挫的过程,只是随着时间推移,一方面你会减少犯错,另一方面也会逐渐脱敏。拥有坚强的内心,你才能熬过某些艰难时刻,而这一点甚至比掌握技能更加重要。
一切都是关于你自己在公司尤其是大公司上班,项目是有人讨论合作的,销售运营是不需要你自己操心的,甚至连产品失败了也是有人兜底的。而这些只是表面,最关键的是,你做的事并非关于你自己。项目成功,众人庆功;项目失败,换下一个。除了主导项目的人,作为一个大头兵你大概率不会把项目和自我认同挂钩,因为说到底,这只是一份工作而已。而独立开发,一切都是关于你自己。成功的喜悦会被放大,而失败的苦涩则更为揪心。你会把产品视作自己的孩子,无比珍视它们,见不得别人说它们的坏话。产品卖不出去,不会有销售替你背锅,你将在财务和心理上承受一切。产品的成绩会变成自我认同,对产品的否定会变成自我否定——毕竟它的全部都是你,想分离是不可能的。
我的建议
- 降低预期
- 心理承受能力不够,或是害怕被人评价和反馈问题,那就不要搞独立开发
- 如果发现自己并不享受这个过程,那就及时停止
积极地寻求失败

这世上大概人人都听过“失败是成功之母”这句话。曾经的我以为它不过是句烂鸡汤,是那种一天编一百句不嫌多的废话。然而一年的独立开发经历,让我对这句话有了完全不同的理解。现在的我觉得它是无上真理。
我们不妨把它换一种说法:
积极地寻求失败,因为只有失败才能让你真正进步。
一本书读完一周可能便忘了大半,而失败带来的教训刻骨铭心,永远不会遗忘。遗忘只是表象,这里的区别在于你是否真正理解并内化某件事,而亲身体验的效果往往最直接。正如前文所言,独立开发就是一系列不断受挫的过程,而每一次的挫折都让人成长,让我们得以避免同样的错误。
当然,失败与失败之间也有不同。有的失败会导致无法挽回的后果,这种需要谨慎应对。而独立开发中的失败往往可以挽回,比如你的产品卖不动,那就转变策略或学习别人,直到找到适合自己的方法;又比如去 Reddit 宣传导致账号被封,那就换个子版块,或是再起个新号。
当我们了解这两点,便会意识到挫折和失败并非坏事。不仅如此,我们更应该积极地寻求失败,然后根据失败做出调整,正所谓 Fail fast。这就不得不提到 pivot,它几乎是成功 startup 的必经之路,比如最近大火的 AI 编辑器 Cursor 最开始其实是个帮人写 Email 的应用。Pivot 之所以能带来奇效,因为团队已从之前的失败中吸取教训,并找到了真正的市场需求。独立开发者可以自己做决定,pivot 更加容易,因此没有不及时调整的理由。我可以讲讲自己的经历。
Clicknow 的 pivot 故事
Clicknow 起初叫 “Xylect”,在这里你能找到最早的一版网站。开始我压根就没想写一个 AI 工具,只想解决自己划日期添加日历的需求。既然实现了划词操作,那就多加点功能吧,于是有了划词解释。这就是 Xylect 的定位:一个划词的多功能工具。之所以取名 Xylect 也是谐音 “Select”,毕竟是通过选择文本来交互。不仅如此,一开始我甚至极力和 AI 划清界限,不想让别人觉得 Xylect 是 yet another AI app。这是最早的宣传语:
Wikipedia/Spell checker/Flight tracker/Calendar/Calculator with a single click
Automate boring tasks & save time
和 Reddit 帖子:https://www.reddit.com/r/macapps/comments/1e8oxjn/i_made_an_app_to_help_you_automate_boring_tasks/?sort=old
然而随着时间推移,我的想法逐渐产生了变化——因为我发现不论是自己还是早期用户,日常基本只用 AI 解释和翻译,其次是拼写检查。至于添加日历、航班追踪和计算器,我总共加起来用过不到五次。另一方面,我发现 Xylect 的 AI 划词确实帮我节省了很多时间,这是当初我没料到的。渐渐地,我不再羞于称 Xylect 为一个 AI 工具,而 multi-tool 的定位则是越看越不顺眼。终于有一天,我小小地 pivot 了一下,把 Xylect 重新定位成一个 “AI search & translation” 工具。
时间进到十月初。这时 Xylect 已经有了少量用户,时不时会给我各种反馈。有个反馈很有意思,说不知道 “Xylect” 这个词怎么念。 起初我不以为意,因此 Xylect == select 在我脑中已经固化,便觉得大部分人也应该会读。后来问的人多了,我也动摇起来:难不成大家真不会念?疑虑像泡泡一样膨胀,有一天我终于受不了了,遂决定改名。一番搜索后我灵光一现,click + know, Clicknow,还有比这更贴切的名字吗?至于后缀,既然我已经认定 Clicknow 是一个 AI 工具,那用 .ai 域名也是顺理成章。于是,clicknow.ai 诞生了。
一点方法论
网上有很多关于独立开发方法论的文章。总体看下来,立项开发阶段的共性较多,重点都是尽快找到 PMF,而推广则没有统一的方法(所以说推广难啊)。作为一本年终总结的小书,没有足够的篇幅去探讨独立开发的方方面面,因此只分享两点。
不要假设用户需求
我犯的最大错误,就是在一开始假想了很多用户需求,比如航班追踪和计算器。事实证明完全没人用,所以我已经把计算器去掉了。假想用户需求会浪费开发时间,带来额外的维护成本,让你无法专注于构建核心功能。
因此以后的产品我打算这么做:先实现最核心的功能,小范围发布,根据用户反馈进一步完善,再逐渐扩大发布范围。有人说用户不知道自己要什么,但 Clicknow 的用户给我提供了很多好点子。对此我是这么看的:用户永远有痛点,但他们没有精力去梳理,因此无法形成完整的产品方案;而当你发布产品,即便只有原型或是只能解决他们 10% 的需求,用户也会立马意识到这里面可以改进的地方,并给你提出建议。因此我们不妨更早地倾听用户,或许会有事半功倍的效果。当然,你必须想清楚自己产品的核心及演化方向,否则可能会被用户天马行空的想法带偏。
Marketing 是个持续的过程
对程序员来说,做 marketing 首先要跨越心理障碍。我们往往不好意思推广自己的产品,或是在推广时太注重技术细节而没有从用户角度出发。不过这些都不难克服。
《推广独立开发产品,我做了哪些尝试》(https://laike9m.com/blog/tui-yan-du-li-kai-fa-chan-pin-wo-zuo-liao-na-xie-chang-shi,159/)(非常推荐阅读,)中总结了一些我过往的推广。文章写于八月,而在那之后我又做了许多尝试,比如黑五促销,也取得了不错的效果。这里想说的并非某种具体手段,而在于对 marketing 的认识。以前做开源项目,基本上就是做到差不多了扔上 Reddit 和 HackerNews,之后完全靠自然增长。对独立开发而言,这种一波流的推广是远远不够的。你最好不停地让产品得到曝光,而这也是 build in public 流行的原因。
很多人强调 SEO 的重要性,因为它可以带来持续的流量,对此我非常认同。只是我的 SEO 做得不好,因此也没有太多东西可以分享。如果有 SEO 大佬看到这,我很希望得到你们的建议。
理财与独立开发
这是一个鲜少被讨论的,却十分重要的话题。
如果我们的目标是“独立”,即不依赖工资生活,那么做产品说到底也只是一种手段。投资理财则是另一种。如果说投资理财是人生的重要课题,那对独立开发者而言它几乎是必修课。为什么这么说?
从最直观的角度理解,(全职)独立开发者面对的财务不确定性比打工人更大。产品收入的波动是不可避免的,因此我们需要别的手段来获得现金流。说白了,这也是 diversify 的一种。
再拔高一些说,独立开发者们需要对人生更有规划,其中自然也包括财务。脱离公司,你失去的不仅是一份的稳定收入,更是整个社会安全网(safety net):比如中国的五险一金,美国的 401k 和医保。曾经只要无脑交给系统的事,现在都需要自己解决。你需要规划的不仅是产品,更是自己的人生。
那么究竟该如何理财?这方面的资料不计其数,我也不是专家,因此只聊聊自己比较有感触的几点。
以尽可能少的成本,尽早开始投资
大部分人投资一开始都会亏钱,而很多教训必须要靠亏钱才能记住。既然如此,那就尽早开始,以小钱投入,反正都是要亏的,早点亏早点学到教训。等掌握了市场的基本规律,再加大投入也不迟。
选对市场
避开 A 股。
投资没有唯一解
我一直秉持一个观点:一个人的做事方法最终还是要回归到 TA 的个人特质/性格。投资也不例外。如果你和我一样,更享受做产品而不是盯盘和研究个股,那指数或许是最佳选择;如果你有兴趣且愿意花时间研究,甚至本身就在开发相关产品,那自然可以试试更复杂的策略。
最后还是那句话:理财有风险,投资需谨慎。
结语
开始独立开发,可能是我做过的最好的决定之一。曾经的我自认为是资深工程师,现在我觉得自己是个商业小白。是独立开发让我意识到,我在公司锻炼出的技能树原来如此狭窄。这段旅程让我重新思考、学习、成长。
在开始前,我曾写过一篇文章《我想怎样做个人产品》,并在心里设定了 $1000 的销售目标。目前这两方面均已达成,因此我对第一个项目 Clicknow 还是很满意的。当然即便没达到,我在这个过程中学到的东西也已经足够有价值。
如果你想获得本书的 PDF 版(包含额外章节:产品的收入情况),可在此购买(https://laike9m.lemonsqueezy.com/)。
最后,感谢各位的阅读。
发布者:欧维Ove,转转请注明出处:https://www.91wink.com/index.php/2024-%e7%8b%ac%e7%ab%8b%e5%bc%80%e5%8f%91%e7%9a%84%e7%ac%ac%e4%b8%80%e5%b9%b4%ef%bc%8c%e6%88%91%e7%9a%84%e6%94%b6%e8%8e%b7%e4%b8%8e%e6%88%90%e9%95%bf/