规划从无代码到代码的转换
我叫大卫·海德。自2014年以来,我一直在构建无代码产品和功能。欧宝体育在线首页我带领我的团队从Y Combinator获得了2017年夏季批产品的资金,该产品在过渡到Ruby on Rails堆栈之前经历了两次无代码迭代。欧宝体育在线首页
原则
我在每个无代码项目中都发现了一个核心原则你获得的动力越多,转向代码就越有利.你会注意到发生了三件事,我们称之为没有代码的限制:
没有代码的限制
- 特性限制:根据特定用例定制特性的程度有限
- 社区限制:你需要雇人来维护产品/功能并编写更多代码欧宝体育在线首页
- 基础设施限制:一次可以使用产品的人数有一个较低的限制欧宝体育在线首页
你的牵引力越大,你的处境就越危险。您必须计划从当前堆栈平稳而迅速地过渡到下一个堆栈。您的下一个堆栈可能是另一个无代码堆栈,但如果您继续成功,它通常会变成类似Ruby on Rails的代码堆栈。我们称之为堆栈转换步骤。
堆栈转换步骤
- 预测故障:时刻考虑当前堆栈将在何时何地发生故障
- 构建新堆栈:开始构建新堆栈,以便在当前堆栈崩溃时过渡到新堆栈
- 过渡到新堆栈:将所有数据和用户迁移到新堆栈
最后,除非你的编码技术已经达到了高级开发人员的水平,否则在开发到那个阶段时,你应该计划雇人来领导代码库的开发。一个可以处理所有技术决策的人,而不是一个在你手下工作的初级开发人员。
我的基本信息
2015年,我拥有了一家网站设计机构,建立了很多Squarespace网站。我们和杰克Jorgovan他创建了一门关于如何建立Squarespace网站的热门课程。杰克的课程吸引了很多人前来询问,比如“你愿意帮我优化网站的设计吗?”杰克会把这些线索交给我们。
大多数网页设计师都不想要这些小范围的线索,因为所有的来回都让他们很昂贵。但我们发现,通过视频会议与客户合作,我们可以收取比标准费率高出50%的费用(即150美元/小时),并在大约2小时内启动他们的网站。对于大多数专业设计师来说,这是值得的。
考虑到所有其他以diy为卖点的网络工具,我们发现,像这样的按需帮助远远超出了网页设计的范围,有一个更大的市场。所以我联系了一位同事,他也拥有一家网络代理公司,让他成为我这个兼职项目的联合创始人。
Squarespace堆栈:证明这个概念
我的新联合创始人负责销售,并招募网页设计师提供他们的服务。我专注于整合基础设施以扩展服务。我的目标是,一旦我们证明了这个概念并开始全职工作,就请另一名团队成员来领导技术。
由于我们有大量的潜在客户,我们的第一个瓶颈是要有一个基础设施来方便网页设计师通过视频会议进行按需会话。我用以下堆栈解决了这个问题:
- 敏度调度嵌入
- Zapier将交易数据从Acuity发送到谷歌表
- 缩放API计划设置视频会议
- 山魈发送交易电子邮件和视频链接
- Squarespace网站
一旦我们建立了这个堆栈,并与一些客户进行了测试,我的联合创始人开始招募设计师加入。
当构建平台并预测它何时会崩溃时(步骤1)堆栈转换步骤),我知道Squarespace和Acuity是第一个瓶颈。
- Acuity有一个团队账户,但没有像Zoom那样的API计划。所有的设计师都会登录并同步他们的日历,就像他们是团队成员一样。这对扩展来说是一个问题。
- 我们不得不在Squarespace中为每个网页设计师设计一个独特的页面,因为当时没有CMS。因此,更新设计师个人资料的模板意味着单独更新每个页面。这也不会有太大的规模。
其他分析包括:
- 我们无法添加基本的web应用功能,比如用户登录
- 客户端用户每次安排会话时都必须输入他们的信用卡。他们在UI中看不到过去的交易记录,这也是一个提示后续会话的机会
- 设计师必须提交更改档案的请求,而我们必须手动更改
我们在5个月内以每月50%的速度扩展这个堆栈。我们的主要指标是每个月的游戏时长。
回到没有代码的限制概念,我们的首要问题是第一个,功能的局限性.在堆栈转换步骤我们预测5月份左右会出现问题,我们需要更换堆栈。
Bubble stack:构建一个web应用程序
为了保持收入的增长,我们需要让客户更容易购买,并增加平台上的设计师数量,这样就有更多的时间可用。我们的愿景是最终让客户能够在60秒内聘请到设计师。
我们的下一步是重建大部分堆栈。我们认为我们需要聘请一名开发人员,但有一个新的“无代码web应用程序构建者”平台叫做泡沫这看起来很有希望。它似乎可以做传统web应用程序所能做的一切,而且速度更快。我们决定尝试一下。下一个步骤:
- 将Squarespace替换为Bubble,这样我们就可以构建一个客户端仪表板,并管理数十个设计师配置文件
- 种子泡沫的数据库与我们的谷歌表数据
- 重新布线Zapier仍然张贴数据到谷歌表用于分析
因为我们的收益正在增长,所以我的网络代理公司的一个初级前端开发人员学习Bubble是有意义的,这样我就可以专注于其他增长任务。他花了一个月的时间来学习Bubble,重建我们的平台,并让我们直播。
现在我们有了一个注册流程,一个客户仪表板,并集成了Stripe Connect来存储客户的信用卡。接下来,我们需要一个功能,允许每个设计师通过OAuth同步他们的日历。我们假设,因为我们擅长api,我们可以在Bubble中实现任何可能在代码库中发生的事情。我们计划使用几个看起来很有前途的工具Timekit因为它看起来是最精致的。
这对我们来说是一个巨大的学习机会。当实现Timekit的时候,我们意识到OAuth必须编程“回调”才能工作——它们是不可能入侵Bubble的。我们现在有了一个新的功能限制在一个关键特性上。我们决定尽可能长时间地围绕它进行扩展。
接下来是增强客户端仪表板,以便他们可以查看过去的会话-这是编程到web应用程序中的一个非常基本的功能。当我们在Bubble中编程时,在历史会话数据显示在屏幕上之前大约有两个延迟。虽然它在技术上可行,但UX感觉很糟糕。我们花了十几个小时与最好的Bubble自由职业者一起优化这个工作流程,但并没有太大的区别。这是一个基础设施的限制这是一个用户体验问题。
虽然我们解决了所有这些问题,但每一个新问题都变得越来越具有挑战性。当我们的开发人员接手Bubble并以极快的速度重建平台时,我们所有人都不堪重负,开始寻找更资深的开发人员来领导。
注意:你的生死取决于基本原则
能够将应用程序组合在一起做事情是很容易的。了解web应用程序架构的基本原理是你的致命伤。这是因为您正在创造技术债务。不仅仅是因为你不在一个代码库中,而是因为你会做一些事情,比如不恰当地建模你的数据库。
这就是发生在我们身上的事。在Bubble中很容易启动数据库和关联,但因为它不是以一种基本合理的方式完成的,数据库查询需要更长的时间,并且在添加新功能时,我们必须更改模式并进行数据库迁移。
这与Webflow和Squarespace的用户向我们寻求帮助是一样的:他们可以把技术上是一个实时网站的东西放在一起,但他们没有足够的骄傲来公开它。他们的问题是他们不知道网页设计的基本原理。
我们寻找一位资深的Bubble开发人员。论坛上只有大约10个可供选择(这是泡沫出现前的开发者目录)。在与他们合作的过程中,我们了解到两个月前刚学习Bubble的初级开发人员的技能水平大致相同。
每个人都有和我们相似的背景:他们想快速破解一些东西,但不知道如何编码。没有人有开发可扩展web应用程序的经验,更没有计算机科学学位。
Bubble开发者的平均工资也是每小时150美元左右。相比之下,一般的Rails开发人员每小时80-100美元,有几年的应用开发经验,而且通常是计算机科学学位。一个快速构建的应用程序最初的效率收益已经结束了。现在,为了扩大规模,我们将在人才方面付出成倍增长的代价。
我们试图找到最成功的消费者应用程序Bubble。我们认为我们可以跟随他们的脚步,并将规模扩大到至少和他们一样大。不幸的是,我们是我们发现的最成功的人。虽然你可能认为这对我们的自尊有好处,但实际上这很可怕——我们意识到我们不能像我们想象的那样扩展Bubble。现在我们正在经历一种极端的社会的局限性.
尽管面对这些无代码限制的挑战,我们仍然在接下来的三个月里以每月50%的速度扩展Bubble。回顾一下:
- 特性限制:主要构建调度特性和谷歌OAuth
- 基础设施限制:主要是数据库查询花费的时间太长
- 社区限制:可扩展web应用开发经验有限,社区规模小,自由职业者很少,基本上没有全职候选人,自由职业者的价格很高。
转移到代码库
由于Bubble过去是、现在仍然是无代码平台的顶峰,而我们也已经精疲力竭,现在我们唯一的选择就是基于代码的平台。一开始我们认为我们可以雇佣一些人用代码重新构建平台。我们尝试了一下,意识到我们需要一个“技术联合创始人”,而不是一个员工:一个可以充当我们CTO的人,在未来几年我们建立公司的过程中全力以赴。
我们花了3个月的时间招聘自由职业者,发布联合创始人职位的招聘信息,并在纳什维尔各地建立网络,直到找到合适的人他说,他想加入公司的最大原因之一是我们已经展示出的吸引力。
在接下来的两个半月里,我们的新CTO在Rails中重新构建了应用程序,我们已经准备好进行转换。这是此次转让的核心范围:
- 数据导入:CTO指示他如何需要导入数据设置。我花了一天左右的时间整理电子表格。
- 301重定向:需要改变路由,所以我用尖叫的青蛙来获取url列表,并创建了一个映射它们的电子表格。这是一个模板。
- 第三方工具连接:我重新配置了Zapier工作流,由webhook触发。我们的CTO编写了应用程序,在Rails中适当的工作流步骤中将JSON数据发送给Zapier。
- 用户电子邮件:我们的每个用户都需要执行密码重置过程来获取他们的帐户。我的联合创始人起草了一封给用户的电子邮件,我们计划在发布时发送。
从这里开始,我们的产品不再受任欧宝体育在线首页何没有代码的限制.随着我们的新团队和代码平台准备就绪,我们在那年春天向YC提出申请,并为2017年夏季批次获得了资金。
反思和收获
我们将Zapier/Squarespace/Acuity堆栈组合在一起的策略是一个很好的选择,并证明了我们的概念。如果我们直接聘请一位技术联合创始人,而不是在Bubble重建,可能会更好。我认为我们对no -ode作为核心平台的潜力过于乐观了。
也就是说,我们仍然相信并大量使用无代码。我们已经使用Webflow的CMS和a构建了数千个网页反向代理设置在我们的Rails应用程序之上。一个是展示欧宝体育在线首页产品。连续4个月,谷歌流量每周增长30%,直到我们在遇到基础设施和功能限制后将其转移到Rails。
对于一些页面,我们已经建立了the Sixty博客和我们的了解产品欧宝体育在线首页在美国,他们可能永远不会离开Webflow。
如果Sixty重新开始,我实际上会让Webflow掌控我们所有的营销页面。盆景而且中音都在这么做,我也看到很多Y Combinator的创业公司也是这么做的。这是一个强大的设置-营销团队可以在不增加工程团队负担的情况下对网站进行更改。
希望这能帮助您更好地解决无代码挑战。如果您仍然对使用哪个堆栈以及它的可扩展程度有疑问,请随时与我联系推特.我也会分享更多我在那里提到的no -ode项目的内容。