穿越悲伤的低谷

当我阅读IndieHackers.com上发布的大多数成功案例时,我发现我的项目GetData.IO实际上比大多数其他项目花费了更长的时间才能获得巨大的吸引力,实际上是整整5年。

开始

我最初在2012年12月偶然发现这个项目时,当时我正试图解决自己的另外两个问题。

在我的第一个问题中,我试图确定在新加坡证券交易所购买的最佳股票。 在浏览其网站上列出的股票时,我很快意识到,大多数证券交易所以及其他金融网站都将其数据表示方式调整为快速买卖行为。 如果您要获取数据以基于公司的历史业绩(而不是股价波动)进行细化分析,那就像在咬牙。 即便如此,我决策所需的重要财务数据仍散布在多个网站上。 这个第一个问题使我编写了2个网络快照程序,一个用于SGX.com,另一个用于Yahoo Finance,以提取数据集,后来我将它们组合起来以帮助我进行投资决策过程。

当我愉快地存放现金后,我便回到了我的副项目上。 这是一个旅行门户网站,汇集了来自东南亚旅行社的所有旅行套餐。 不久之后,我遇到了第二个问题……我不得不再次编写一堆网络爬虫,以从没有API的供应商站点中提取数据! 被迫在一周之内写出我的第3,第4,甚至第5个网络抓取工具,这使我搁置了所有工作,然后退后一步去看大图。

洞察力

作为一名Web开发人员,并且了解其他Web开发人员的想法后,它很快就出现了在网页列表和嵌套网页中重复出现的模式。 对于CSS样式的命名约定,尤其如此。 开发人员倾向于以其在世界上实际使用物理对象的方式来命名CSS类。

我认为,如果存在一种与程序无关的语义查询语言,它将提供查询网页的好处,就像它们是数据库表一样,同时还提供了从底层技术中抽象出的抽象架构。 进入项目6年后,今天,这两种见解仍然是正确的。

悲伤的低谷

尽管由于缺乏活动,上述趋势线中的前五年似乎很平静,但感觉却很平静。 在这段时间里,我私下里面临着许多挑战。

团队管理错误和过早扩展

首先是团队管理。 在项目启动期间,几年前,我的前同学与我联系,询问他是否可以参与任何项目。由于我一直在从事该项目,因此很自然地邀请他加入该项目。 。 我们很快进入了新加坡的孵化器JFDI。

事后看来,虽然这次经历为我们提供了常识和朋友,但确实感觉像是在经历旋风。 在孵化期间我遇到的最重要的知识是本书的建议-创始人的困境。 我希望在犯下所有错误之前先读这本书。

在我和我的前同学之间有很多炒作(见2013年中期的消息),紧张和压力。 由于在JDFI演示日后不久该项目应该如何进行的看法上存在分歧,因此我们采取了不同的方式。 不久,我的团队规模就扩大到了6人,并解散了,意识到在弄清楚货币化模型之前,要扩大规模很幼稚。

投资者管理失误

在这段时间里,我还犯下了一系列严重的错误,我发誓再也不会重复。

错误#1在股票分配上过于宽松。 当我们组建公司时,我很天真地相信团队会一直保持完整,直到最后。 开始归属之前的悬崖只有3个月,而在2年内发生了全部归属。 当我的前同学离开时,限额表完全混乱了,一个非运营商拥有的一大块钱,没有供未来的雇员使用,而没有对现有员工进行重大稀释。 这是筹集资金时的第一个严重危险信号。

错误2是在实现关键里程碑之前,在项目中以太少,太早就放弃了太多公司。 这是第二个严重的危险信号,它实际上关闭了跟进潜在投资者的步伐。

错误#3没有意识到亚洲和硅谷投资者的思维方式差异,然后选择了错误的地理位置(又称网络)来孵化该项目。 在错误的网络中孵化项目可能会真正损害其未来的增长。 亚洲投资者倾向于投资具有明确货币化途径的应用程序,而硅谷投资者则倾向于投资于深层技术的货币化途径。 在随后的时期,我看到了两个类似的项目被孵化并通过Ycombinator成功启动。

我设法解决上述三个问题的方法是,通过将项目重新安置到Valley的网络中来从事一份日常工作来获取我还没有的资金。 我非常感谢有朋友在我紧缩的时候伸出援助之手。

自我怀疑

我记得在我回新加坡访问期间,与孵化器负责人进行了两年的交谈,当时他试图说服我该项目没有进展,我应该把它丢掉。 我设法说服了他,更重要的是我自己说服了他六个月,直到年底。

我记得自己晚上不在房间里工作的时候,晚上和周末。 在编码突然之间,我将浏览网络或坐在墙上盯着墙,试图设想产品市场的情况。 正如史蒂夫·乔布斯(Steve Jobs)在演讲中提到的那样,感觉就像是推向墙壁,没有进展或动静的迹象。 如果有的话,那就是很多挫败感,自我怀疑和沮丧。 几次,我都想扔毛巾而放弃。 在2014年的6个月中,我实际上完全停止了接触代码的工作,只是让项目运行在自动驾驶仪上,发誓再也不会看它了。

中断不会持续很长时间。 呼叫就像警报器一样,即使有时有些微弱,它也会在深夜或仅在加利福尼亚宁静的海滩上漫步时向您发出呼叫。 不久之后,我又重新焕发了生机,重新回到MacBook上研究该项目。

生命的最初迹象

到2015年中期,该项目仍未显示出任何形式的牵引力迹象。 那时,我已经从日常工作中积some了一些现金,并且开始对购买一块房地产感兴趣,希望产生一些现金流来引导项目,同时腾出自己的时间。 正是在这段时间里,我被介绍给了我的朋友的室友,后者也对房地产产生了兴趣。

我们开始在周末开会,并利用GetData.IO收集房地产数据以用于房地产投资。 我们将为房地产进行机器学习。 该项目的范围确实很苛刻。 正是在这段狗食期间,我开始了解用户如何使用GetData.IO。 那时,我才意识到基础架构对于像我们这样的项目所需的数据收集类型和规模来说是多么糟糕和不合适。 它在接下来的两年中催化了基础架构的全面改写,并使语义查询语言走向成熟。

技术挑战

类似于马克斯·列夫钦(Max Levchin)在《创办人的著作》中提到的那样,在这段时间里,我始终担心我会遇到无法解决的技术挑战。

随着我们开始扩大每日抓取量,该站点有时会关闭。 我会在周末花费几个小时来浏览日志,以尝试重现该错误,从而了解根本原因。 这些操作就像(数据)流水线一样,缩放流水线的一部分而不处理更多的向下部分将不可避免地导致裂缝和破裂。 总是需要执行某种形式的手动演算以找出最佳的配置,以平衡体积和成本。

在此期间我要解决的最困难的第一问题是缓存和存储问题。 随着数据量的增加,存储成本增加,等待时间也随之增加,然后才能下载数据。 此问题使中央数据库崩溃了几次。

由于问题在2016年中期恶化了一段时间后,我决定将其作为要解决的第一要务。 我花了4个月的时间参加了湾区的大数据和人工智能MeetUp,以检查可用于解决所面临问题的解决方案类型。 尽管没有找到合适的解决方案,但四个月的时间使我想到了以前从未想到的问题。 我最终建立了自己的内部解决方案。

牵引力与成长

解决存储和缓存问题的意外后果是它对SEO的影响。 直到2017年年中,当我开始看到该网站的自然流量增加时,对SEO的影响才可见。 随着加载时间从某些情况下的一分钟以上减少到不到400毫秒秒,被僵尸程序索引的页面量将增加,同时访问者数量增加和跳出率降低。

继续教育

在2016年初,我遇到了一篇文章,阐述了Paul Graham广泛而深入地阅读的好处,这促使我重新开始阅读的爱好。 同一位朋友向我展示了一个自欺欺人的行为,他帮助我将我搬到了海湾地区,我一直在极力追求,使我每周阅读多达1.5本书。 这些是我总结在个人博客上的书,供以后参考。 所有的学习发展了我的世界思维模式,并极大地帮助了我处理该项目的方式。

埃德莫多(Edmodo)的工程副总裁强调了在尝试解决技术问题时不要沸腾大海的重要性,并且在我作为其技术领导下的工作期间始终对资源的使用保持谨慎。 从他那里学到的另一个重要经验教训是,在某些情况下,被喜欢和有效并不会并存。 作为关键决策者,坚定不移地实践有效纪律非常重要。

设计主管Tim和Lukas帮助我理解了UX在他们工作期间的重要性以及它与用户心理的联系。

Edmodo的首席执行官在2016年末向我们介绍了正念冥想,以帮助我们度过当时公司内动荡的时期。 太粗糙了 到目前为止,我所采用的做法在保持我所走的道路的不确定性的同时,帮助我保持了平衡。

Edmodo产品副总裁向我发送了2017年底的课程,该课程帮助将我之前获得的所有知识整合为一个连贯的整体。 获得的知识极大地加快了GetData.IO的进度。 在同一时期,他还向我介绍了Vipasanna调解实践,这恰好占管理团队实践的很大一部分。

在继续教育期间我观察到的一个非常重要的范式转变是观察到我自己与项目之间的关系。 它已经从迫切需要不惜一切代价成功的态度转变为开放的好奇心和迷恋态度,就像一个开放式科学项目一样。

向前进

到目前为止,我已经开始全职从事该项目。 GetData.IO在全球拥有1,500多个社区成员的支持。 我们的任务是将Web变成功能齐全的人类知识巨型图数据库。 在财务上,在我们社区成员的帮助下,该项目现在可以自我维持。 对于这6年的旅程中获得的所有支持和经验,我深表感谢。 在继续前进的过程中,我期待前进。