今天,我的第一个独立开发出海产品 Chat2Report 上线了,这是一款基于 RAG 的美股财报聊天应用。

为什么要开发独立产品
去年初通过几位大佬(越南的 Tony Dinh,国内的 Hawstein 和 vikingz)的博客了解到,作为程序员还有开发独立产品出海这一条路,其中有些收入还不错,甚至有开发者辞掉了工作,全职做独立开发。

看完他们的文章,心里很激动,想着自己是不是也可以试一试。于是使用 OpenAI 的 gpt-4o-mini 模型微调了一个专门的模型,做了一个变量命名工具,叫 VarNamer,支持多国语言,用户输入任意语言,即可输出精简的英文变量。当时 AI 编程工具还刚刚兴起,变量命名又是件头痛的事,所以想着这个工具应该能为自己节省不少时间。
其实当时开发这个产品,也是为了学习新技术,为自己后面开发出海产品做准备,由于看到不少独立产品都是桌面端的,所以基于 Electron + Vue3 做了 VarNamer,为什么选择 Electron?因为它构建跨平台程序非常方便,为了上Mac,还购买了苹果开发者证书。

开发 VarNamer 并不顺利,期间踩了不少坑,也坚定了后面的出海产品不会再做桌面端了。因为一般的 Web 开发不需要考虑版本更新、证书、跨平台兼容等问题,但是开发桌面应用需要将这些因素都考虑进去。除去后端服务器的成本,安装包托管,更新逻辑,还需要考虑程序的签名证书,不然用户安装应用会报警告,甚至安装不了,其中苹果开发者证书一年就99刀,Windows 就更贵了。
VarNamer 上线后,在几个论坛发了贴宣传,也发给了同事使用,反响还不错,但是没想到后面 AI 编程工具发展这么快,特别是出了 Cursor 这样的王炸产品,变量命名完全不是难事,几乎改变了以往的编程习惯,一直 Tab 的感觉,简直不要太爽。
99 刀的苹果开发者证书就开发了一个应用,着实太浪费了,至于 VarNamer,后面再也没管过它,好像域名最近快到期了,也不打算续费了。
独立出海产品契机
自 VarNamer 之后,接下来的几个月时间并没有开发新的产品,为什么?因为我不知道开发什么,好像也找不到什么痛点需要解决的,后面想到自己在买一家上市公司的股票之前,会分析公司的财务报告,毕竟我是一位追随彼得·林奇和巴菲特的价值投资者,哈哈!
但是分析财报是件麻烦且费脑的事,一份财报少则几十页多则几百页,除了重点关注三张报表,即资产负债表、利润表、现金流量表(俗称"三大表"),还需要关注管理策略、管理层的措施、战略,财报中是否有欺诈风险等。
既然这么麻烦,那 AI 是不是能帮我们分析了?后面经过调研发现了市面上还真有这样的产品,比如 beebee、reportify,它们都是基于 RAG 实现的,但是我想基于它们开发一款新的产品,为什么?因为它们的功能实在太多了,新闻、电话会议、上传文件、公司评价...,而且 RAG 也不精准,我需要一款操作简单,体验更好,简洁、美观,精准,专门分析财报的工具。

去年 9 月下旬开始了技术调研,之前对 RAG 技术稍微有点了解,但是不够深入,只是基于 Dify 做了一些应用,同时发现 Dify 不够自由,文档解析分块不能自定义元数据,后端又是基于Flask的,to C 的应用担心性能不够,生产环境还需要一台服务器额外部署 Dify。
调研下来最终确定业务层使用Go + Gin, 大模型层使用Python + FastAPI + LlamaIndex,前端使用Vue3。LlamaIndex 实现 RAG 应用非常方便,兼容各种第三方文档解析器、向量模型(Embedding models)、重排序模型(Rerank models), 向量数据库、大语言模型(LLMs)。

之后利用下班时间和假期实现了个 demo,感觉还不错,是自己想要的效果,美股财报批量转 PDF,文档批量解析、分块,提取布局信息,前端布局重构回溯,AI回答带引用来源,高亮定位到原文段落,一个 ChatPDF + AI 财报助理的构想应该很快就可以实现。
10 月份利用业余时间开始了马不停蹄的开发,这期间公司一些事件却让自己很不舒服,作为一个技术人,希望能全身心的投入到技术中,利用技术解决问题,但是各种PPT汇报、职场PUA,让自己疲于奔命。
我想离职了,全职投入到项目开发中,11月初的一个晚上把这个想法告诉了老婆,非常正式的讲了自己的规划,产品怎么落地,产品受众人群,怎么盈利,以及一个粗略的计划,希望得到她的支持。因为我觉得,组建家庭后,另一半相当于就是你的人生合伙人。在很多重要决策上,得到合伙人的支持,才能走得更好走得更远。如果成功了,兴许以后就不用上班了,就算失败了大不了重新找个班去上。老婆没说什么,表示了支持,在这里要特别感谢一下老婆。
全力加速开发
12 月 09 号是我最后一个工作日,也是我作为全职独立开发的第一天,当天走出公司,呼吸着新鲜的空气,感受到了从未有过的自由。
成为全职独立开发之后,最大的感受就是开发效率提高了几倍,不用再参加枯燥无聊的会议,应付各种办公室政治斗争,输出无意义的PPT。直到今天项目上线,全部开发时间应该是3个月。
这期间踩了无数坑,以前工作时的一些优点,现在反而成了缺点,比如之前专注于写好代码,追求架构完美和扩展性,甚至有代码洁癖,但这严重推迟了产品的上线时间,在产品还未经过市场验证之前,应该快速推出产品,验证市场需求,这比追求精美更重要。
接下来的计划
接下来的主要任务就是宣传了,去海外各大社区宣传寻找目标用户,比如 Facebook、Twitter、Reddit。
两个月之后我会再写一篇帖子,分享我的成果,盈利情况等。
接下来也会分享一些出海产品在技术选型和海外支付方面的经验。