ToolJet 是一个开源、低代码框架,用于快速构建和部署内部工具。我们的代码库 100% 使用 JavaScript 和 TypeScript 编写。
ToolJet 最初由一位独立开发者于 2021 年 4 月启动。公开测试版于 2021 年 6 月发布,并立即受到欢迎。凭借这一吸引力,ToolJet 获得了融资,目前我们拥有一支 20 人的团队。
为什么选择开源?
在开发 ToolJet 之前,我曾作为顾问为一些企业客户工作。其中许多客户规模庞大,需要构建和维护数十个内部工具。尽管销售、支持和运营团队不断请求添加更多功能和修复内部工具中的错误,但工程团队仍难以找到足够的精力来处理内部实用程序。
我尝试使用一些平台来构建和维护内部工具。这些工具大多非常昂贵,而且常常不符合要求。我们需要进行修改,而且大多数实用程序不支持本地部署。
作为一名 Ruby 开发者,我主要使用 ActiveAdmin 和 RailsAdmin 来构建内部工具。这两个实用程序都很出色,但要让它们与多个数据源协同工作却很困难。那时我意识到,市场需要一个可以构建用户界面并连接到多个数据源的框架。我认为,任何为开发者构建的工具都应该是开源的。开发者每天使用的大多数工具和框架都源于世界各地的人们公开协作的成果。
第一次提交
构建像 ToolJet 这样的项目需要全身心投入。出售我的一个副业项目为我提供了 5-6 个月的启动资金,我立即开始着手开发一个在我脑海中构思了至少两年的想法。
ToolJet 的第一次提交(rails new)是在 2021 年 4 月 1 日。
等等!我说过代码库 100% 使用 JavaScript 编写。继续阅读以了解原因。
构建和向投资者推介
四月和五月的大部分时间,我都坐在电脑前,一边编码,一边向投资者推介种子前轮融资。
我的工作还包括创建拖放式应用程序构建器、编写所有文档、确保有关于在常用平台上设置 ToolJet 的文档、创建网站、创建启动海报和博客文章等等。这个过程进行得很顺利,没有遇到任何重大挑战。此时,ToolJet 的前端使用 React 构建,后端使用 Ruby on Rails。
虽然编码进展顺利,但投资者推介却不太顺利。我向风险投资公司和专注于早期融资的“天使投资人”发送了大约 40 封陌生邮件。虽然大多数人忽略了邮件,但有些人分享了拒绝的理由,有些人安排了电话会议。
大多数电话会议的内容都差不多;我无法让他们相信开源商业模式。
发布
6 月 7 日是发布日。首先,我们在 ProductHunt 上发布。六个小时过去了,只有 70 个新注册用户。但我们成为当日排名第一的产品(最终成为当周排名第三的产品)。为了后代,这是原始帖子。
我还在晚上 6 点左右在 HackerNews 上发帖,并在一个小时内,帖子就成为了第一名。我很高兴有许多访客注册并为该存储库点赞。许多访客和用户报告了应用程序和文档中的错误。在 HN 上发布后的八个小时内,超过 1,000 名 GitHub 用户为 ToolJet 的 GitHub 存储库点赞,并且有数百人注册了 ToolJet 云。这种趋势持续了三天,该存储库获得了 2.4k 颗星。

ToolJet 的 GitHub StarTrack。(Navaneeth PK,CC BY-SA 4.0)
获得融资
GitHub 上的吸引力足以引起风险投资 (VC) 界的注意。发布后的几天里,电话会议排满了日程。我们还有其他选择,但没有认真考虑它们,包括
- 自筹资金:在产品早期阶段,很难找到付费客户,而且我没有足够的积蓄来资助项目直到这种情况发生。
- 作为副业项目构建:虽然这种策略对于较小的项目非常有效,但我感觉它不适用于 ToolJet,因为我们需要创建数十个集成和 UI 小部件,平台才能对客户有用。作为副业项目,可能需要数月或数年才能实现这一目标。
我知道,如果 ToolJet 只是一个副业项目,那么构建我想要的平台可能需要数月时间。我希望通过扩大团队来加速增长,鉴于目前的吸引力,风险投资显然是最佳选择。
好消息是,我们在 HN 发布后的两周内筹集了 155 万美元的资金。
技术栈在开源中至关重要
发布后不久,我们发现许多人想要为 ToolJet 做出贡献,但他们大多是 JavaScript 开发者。我们还意识到,对于像 ToolJet 这样的框架,未来应该有数百个数据源连接器,只有基于插件的架构才有意义。我们决定在 2021 年 8 月从 Ruby 迁移到 TypeScript。即使这花费了大约一个月的时间和巨大的努力,这也是我们为该项目做出的最佳决策之一。今天,我们拥有由我们的 插件开发工具包 提供支持的可扩展的基于插件的架构。我们有来自 200 多位开发者的贡献。我们在这里 和这里 广泛地撰写了关于此迁移的文章。
发布 v1.0
自 8 月以来,许多用户一直在生产环境中使用 ToolJet,该平台没有表现出任何稳定性或可扩展性问题。我们一直在等待完成开发者平台功能,然后才将其称为 v1.0。ToolJet 开发者平台允许任何 JavaScript 开发者为 ToolJet 构建和发布插件。开发者现在能够为 ToolJet 创建连接器。创建一个 ToolJet 连接器可能只需 30 分钟,包括集成测试。
建立不断壮大的社区

ToolJet Star History(Navaneeth PK,CC BY-SA 4.0)
我们没有在营销上花钱。我们传播 ToolJet 新闻的大部分努力都集中在撰写关于我们学习经验的文章以及积极参与开发者社区。我们有一个由三名成员组成的团队负责处理社区查询。
商业模式
如果没有 商业产品 来支付账单,ToolJet 将无法成为可持续发展的业务。我们构建了 ToolJet 的企业版,客户必须为此付费。免费社区版的使用没有限制,企业版中的附加功能仅与大型团队相关。我们现在拥有非常大的公司作为付费客户,但我们尚未开始积极地将 ToolJet 货币化。我们在银行里有足够的资金来构建更好的 ToolJet,所以我们目前的重点是产品改进。
下一步是什么?
在开源社区的不断反馈和贡献的帮助下,我们经常发布 ToolJet 的更好版本。许多重大改进以及数十个连接器和 UI 组件正在进行中。我们正以前所未有的速度朝着我们的最初目标迈进,即成为可以连接到数百个数据源并构建最复杂用户界面的开放框架!
评论已关闭。