意气风发的开始
2021年9月,我联系上了刚毕业时工作了一段时间的老东家-平哥,看看他那有没有机会,可以让自己的能力得以发挥,得知平哥花了一年用Go重写了以前使用PHP开发的后端代码生成器,他想要打造一个基于配置的应用引擎,刚好缺了解这块的人来开发应用引擎的前端-界面引擎,于是乎,我们一拍即合。
我长达两年零一个月的开源之路,开始了(这个项目叫做Yao,我负责它的界面引擎XGen)。在YAO发布之后,我给Yao写了第一篇介绍文章,到各大海内外轮胎发帖推广,一个月内star数就上了3k,霸榜Github Trending Golang分区,那个时候,意气风发,以为我们会像Vercel那样成为开源界的新星。

真相
但事实上,现金流成了我们最大的隐患,平哥竟然一直在借钱发工资,我终于理解为啥他不好好经营社区,每到月末,惶惶不可终日的样子,不是他不想好好做开源,是不能,现金流的压力一直压着他,但这些都是后来知道的,可能他也知道,这些事情一旦出现在我这里,意味着这个事情,要花上一个句号了,因为我也没有同时兼顾资金压力还能尽情工作的能力。
戛然而止
直到前段时间,他跟我说,账上没钱发工资了,让我能不能坚持一段时间,我当时答应了下来,毕竟这么多年了,他一直竭尽全力给我提供宽松的研发条件,让我能够发挥我全方位的实力,我很感激。但是事后算了一下帐,月末要再签一年租房合同,一次交半年的房租,交完房租之后,没有现金流的情况下我只能坚持几个月,都坚持不到把这半年过完,甚至会出现找工作搬家都没钱的情况,也不能打肿脸充胖子,一时意气可能会导致我没法缓过来(基于现在就业市场不景气的情况,以前每次找工作都是很赶,很将就,现在5年工作经验了,不能那么随意了,得对自己的能力负责)。
他跟我说你先找工作,我努力找钱,而XGen经过两年的迭代,功能上已经稳定了,要加新特性比如对接AI能力这些需要我,业务人员的大部分需求都能满足,公司其实只有四个人,抛开平哥,只有三个员工,其中一个销售,负责接洽B端客户,一个业务开发,负责用Yao和XGen开发应用,而我主要负责XGen功能的迭代以及所有前端相关设施的建设。
在XGen大部分功能都能满足业务开发需求的情况下,研发上需要我程度不是特别高(其实还有很多事情,比如当初筹备需要开发一年的Yao Studio都在todo list上,但是因为现金流压力,一直被各种其他业务打断)...
事实上,从一开始,在商业上,在钱上,我们就错了,以为开发出了nb的产品,自然有人给钱。真相是,美元基金大部分退出国内以及两大国科技贸易摩擦的情况下,很少有投资人愿意投基础设施,有也只是看中team的背景,基于这样的逻辑投的。
B端市场也出现了问题,项目都交付完成了,跟你说最少半年之后打款------春江水暖"鸭"先知,受大环境影响,很多B端客户自身的现金流都出问题了。
后续的一些平哥操作,建微信群,从官网给微信群倒流,让开发者去加销售微信,让销售去群里找客户,搞共创,想要拉群里面的人"一起"开发XGen和应用,让最初我推广Yao积累起来的势,慢慢就消逝了,我渐渐意识到,其实创业的瓶颈不是能力,而是认知,认知这东西就好像《楚门的世界》里面的天幕,让人接触不到真实世界,却又无法看破(或者说现金流压力扭曲了认知)。
现金流出现了断层,而且也不能保证后面还能发工资。这种情况我不敢赌,毕竟我只是一个打工仔,公司负债的情况下还有各种底层资产,我一个打工仔,在当下这个环境继续赌下去,大概率出现缓不过来,现金流枯竭,甚至要靠借债搬家找工作的情况(曾经经历过这种情况,每天睁开眼睛就感觉喘不过气,那感觉,太折磨人了,不想要历史重演)。
收获
如果有机会,还愿意和平哥一起为我们心中的那个理想(由人来借助机器和基础设施来实现coding自动化)而继续奋斗,事实上,在某种程度上,我们确实做到了,但没有规模化,而且离市场太远了,或者说我们的资源太少了,这就是创业的困境。
不过创业也确实就像是逆天改命一样------革自己的命。每一个创业者都值得尊敬,因为他们是在"掏空"自己,为这个世界做贡献,因为这件事情很可能没有结果,但现在响当当的大公司不都是一个个创业者"掏空"了自己,前仆后继,积累起来的。
我真的特别感谢这段经历,平哥给了我极其宽松的工作环境,公司在北京,我人在杭州,远程两年多,从疫情开始到结束,核酸检测不超过10次。
当疫情期间大家在疫情中各种奔波,各种张嘴被插,陷于白色恐怖时,我能足不出户,尽情coding。
独在小楼成一统,管他春夏与秋冬。
而在这期间,就好像修炼神功一样,我对编程也有了不一样的理解:
- 结合我看的《游戏引擎设计》这本书,把数据驱动的理念带入到前端开发中,实践出了
tsyringe
+mobx
,面向对象的前端设计模式 - 万物皆可低代码。低代码其实是一种理念,Photoshop、Figma、Word、PPT、Notion、Spline,甚至游戏引擎,都是一种低代码实践,目的是通过一种通用的,可复用的交互方式对目标
metadata
(元数据)进行编辑。 - 结构化设计。万事万物皆可结构化,结构化是面向对象的实现基础,有了这个基础,就能对这个事物实现"数字孪生"。
- 编程就是
data
+f(data)
,数据和对数据的操作(所以面向对象是暗合天道的,不要尬吹函数式,也不能无脑照搬面向对象的思想,现实事物的运转规则需要不同的编程模型来配合实现),界面只是一种呈现形式,所以我从来不将自己定位成广义的前端开发者,而是Product Maker
开发产品的人。
打算
最后说一下我的打算,这一次我会花几个月时间好好调整和思考,同时找下一份至少值得我奋战三年的工作。
于此同时,我申请了Apple developer,并申请加入了小微独立开发者计划,几个月前我曾说要做一个todo应用,最终慢慢思考实践出了一个包含N多模块的巨型One in All
应用:


可能最终没有结果,但这也是一种修行。
如果短期内没找到好的工作,那可能会花几个月做一个开源的基于低代码的富文本编辑器。
低代码 + 富文本不就是Notion吗,没大家说的那么难,重要的是你同时对这两个方面的技术有深度的实践,我知道很多所谓对标Notion的都是在Slatejs上加一堆组件,事实上,从零写一个Slatejs也没那么难,因为前人已经帮你趟过路了,很多概念和思想直接"学"过来就行,没啥不好意思的,在此基础上构建低代码系统,一个notion类型的文档编辑器就成型了。
至于sync,pouchdb、yjs、rxdb,其实有很多方案可以实现,不过这些也都不是简单就能用的,得填坑,我刚开始用的pouchdb,后来发现了致命bug------每次find都会导致数据库变大,排查了很久,无解,试了一段时间yjs,不知道怎么搞的,数据存储量很大,应该是yjs自身"特性"导致的,而且replication要自己写,没有现成的能参考的,最后还是选了rxdb,可能应用上架之后会买个premium,也算是支持rxdb作者了。
支持表格、表单、可视化图表(在低代码的层面,任何内容都可以)的local first的低代码富文本编辑器,叫做mindkit,里面包括两个模块:一个是Note(低代码富文本编辑器)、一个是Markdown(支持开启所见即所得模式的markdown编辑器------没错,就是开源版本的typora)。
我计划四个模块不收费:Todo、Note、Markdown、Memo,因为Note和Markdown是开源的,收费也没有意义,Todo的话,这东西是刚需,但是市面上可替代的很多,没必要收费,Memo就是便签,内部实现也是Markdown。
云同步和其他模块pro用户可以使用,毕竟supabase这样的云数据库也挺费钱的,而又些模块其实复杂度不下于从零写一个Notion,比如白板,但是技术实现都是类似的:低代码+基础内容框架。
在我的预想中,基于低代码开发的PPT,可能是下一代PPT标准(支持基于低代码的任何内容,并引入framer-motion,超强大的动画表现),但那都是后话。
最后,关于我
Yao App Engine (star 6.5k) 联合创始人,5年研发和开发经验(18年毕业),有丰富的低代码平台设计研发经验,设计师,参与设计研发过超过10个企业级 toB 产品。 有丰富的 CAP (组件即原型)系统设计经验,熟悉 React 性能优化,丰富的前端架构设计经验和小程序开发经验,擅长技术栈:React、Electron、Nextjs、Vue、Nodejs 、小程序。 目前在做基于低代码的文档编辑器。
备注:人base在杭州,余杭、西湖周围的公司,欢迎来撩,如果觉得我合适您的公司,您的公司也还算正常(离职率不超过30%,hai康、da华、童话顺这类不属正常)的话,可以私信我,或者发送邮件给我。