去年年底辞去上一份工作后,我立刻就决定做全职的独立开发者。原因倒并不是我有很好的想法或者有能一定赚钱的项目,而是在当了这么多年程序员,在很多家创业公司从 0 到 1 搭建起各类系统后,我总觉得没有做出一个令我满意的,符合我品味的产品,是一件挺遗憾的事情。而最好的办法是由我自己完全独立设计开发一个产品。考虑到现在糟糕的就业形式,不如尝试一下非常火的独立开发。
从另一个方面来说,我也挺喜欢创造东西和学习新知识。比如我的头像就是我用 Blender 设计/建模/渲染的。上一次辞职后我也做了几个开源项目,积累了几百个 stars 。由于以前基本所有的经验都在后端方向,这次做一个完整的产品也想行学一学前端方面的知识。
Tablesmith IO
https://tablesmith.io/
由于出发的原点是做一个令我满意的产品,而我对无代码表格以及自动化挺感兴趣,因此我的第一个产品选择的是表格自动化的方向。这个自动化并不是 airtable 或者 zapier 那样的事件触发型自动化,而是 ETL 类型的自动化,通过构建流程来实现数据筛选/分组/聚合等。产品本身的亮点我也最开始就设定好了: 跨平台/免费/本地运行。既然考虑到跨平台, 而本地表格处理又有一定的性能要求,我觉得最好的选择就是 Flutter ,于是我就一边学习 Dart/Flutter ,一边设计和开发。开发过程没什么波澜,很顺利的开发完成。
Tablesmith IO - AI
在 Tablesmith IO 的 ETL 部分开发完以后,由于 AI 的火爆,以及我想加一个付费功能,于是我就决定添加 AI Autofill 功能。从 ETL 角度来说,通过 AI 来填充或修正数据,这个作为 ETL 流程也挺恰当。考虑到 OpenAI 和 Claude 都不允许大陆用户使用,我就用了 Gemini 作为大模型。基本功能的开发也很快,由于 Tablesmith 本身就有一个挺 fancy 的公式编辑器,稍微修改一下就可以作为 prompt 编辑器使用。
在第一版 AI 功能开发完后,我试用了一下 Notion/Airtable 在表格方面的 AI 功能。结果发现这些产品基本都没有 Context 的概念,于是我就给 Tablesmith AI 增加了 Context 设置,让用户可以使用行或列的内容作为 Context 来生成当前 cell 的内容。也算一个差异化的亮点。
Tablesmith IO 发布/推广
发布以及推广其实是挺无趣,流程也挺固定。既然是出海产品,先发 Hackernews ,接着发 ProductHunt 。Reddit 跟表格相关的 subreddit 也发了发。当然还有 v2ex, 由于内容比较激进惨遭 v 友封杀( https:///t/1033501). 另外也花了点💰在 Reddit 和 Google 上做广告。但总的来说并没有引起什么热度,当然也有人付费。
然后就这么过了差不多一个月,到了 6 月份的时候,我决定把 AI 部分拿出来单独开发一个项目。
Tabulator AI
https://tabulator.ai/
单独为 AI 做个项目其实在开发 Tablesmith 的 AI 部分时我就有了这个想法。因为首先 Tablesmith 主打的是本地化和 ETL ,AI 只是个添头,而且还无法本地化运行。另一方面,ETL 的分散多步运行导致 AI Autofill 只能按列进行,也导致了 Context 控制比较复杂,而我本来的设想是按行进行生成。同时也想学一学 React 相关的知识,于是就着手开发 Tabulator AI 。
由于 AI 后端部分 Tablesmith 开发时就已经完成,现在只要稍微改动一下就能用。这次 Tabulator AI 主要时间花在设计/学习 React 以及前端开发上。Tabulator AI 的开发也是分为 2 个阶段,第一版是一个单一的表格生成器,主打一键傻瓜生成。而第二版则扩展成为一个无代码的 AI 表格生成平台,可以在一个 base 下添加多个表格,生成行时可以引用其他表格的行作为 prompt 。总的来说,核心功能是一键生成表格,并且高度可定制化。
Tabulator AI 发布/推广
这个跟 Tablesmith 基本一样,就不细说了。
对两个产品的总结
应当说从用户量/收入/PMF 这些角度来衡量的话这两个都不能算合格的产品。这也意味着我确实不适合做一名全职独立开发者。但从另一个方面来说这两个产品都是符合我品味的产品,简洁/可定制性强又有一定创意,而且我相信对有些人会很有用。因此也挺自豪能做出这样的产品。如果大公司在开发类似的产品时可以作为参考。
行到水穷处,坐看云起时
就像标题里说的,褪去独立开发者的身份就成了一个失业的程序员。这两个项目不会关闭但也只会以维护为主。不会再加入什么新功能了。从我个人角度来说,不会再为独立开发投入精力,而是回归到开源项目上。
自从去年Vitess使用Theine以后,我搜了一下一年来应该没出过什么问题。另外也有几个比较知名项目使用 Theine ,包括SpiceDB以及Centrifuge。我觉得可以认为 Theine 是稳定的(这么说是因为我都是在创业公司,无法验证大规模真实负载下的稳定性)。下面应该会进一步优化性能, 这个 otter 的作者以前就提过,但因为当时已经忙着开发自己的产品了就没怎么研究。
另一方面 Python 版本的Theine,由于没法查询依赖不知道有没有大项目在用,但考虑到有一些 PR 及 Issue ,而且上周有 971 次下载,肯定还是有人用的。虽然个人不太喜欢 Python ,而且开发这个大脑要经常在 Python/Rust 之间切换 Context ,但我估计也会参照 Go 版本的 Theine 加入些新功能。
当然找工作也是另一个重点,不过考虑到现在的就业形势以及个人没什么大厂经验,可能就只能随缘了。