我的详细旅程(包括有关如何建立创业公司的建议)。
我的创业公司的主页
介绍
首先,关于我的几句话:我是一名数据科学家,拥有 2+ 年的商业经验和 5+ 年的 Python 编码经验。我主要与后端和 AI 打交道。我从来没有自己构建过整个项目,而是通常会给我分配任务。
但过了一段时间,我开始觉得我有足够的知识来尝试建立自己的东西。然后我建造了它。与我的预期相反,这并不是非常困难。更重要的是,与我的联合创始人一起,我们在短短 1 个月内就建立了它,它已经达到了一些利润和 1000+ 次访问,没有任何付费广告。
现在——你为什么要建立一个创业公司(如果你还没有的话)?
没有一门课程或项目能教会我这么多。当您完成一门课程时,您将学习一些特定的技能。但是,当你把产品作为一个整体来工作时,你就会开始理解整个开发周期——从设计到构建再到部署。我打磨了现有的技能,学习了新的技能,我开始理解前端和后端实际上是如何交互的(以及作为 Python 开发人员的你如何编写更好的 API,让你的前端同事更容易使用)。
另一个原因是对你的简历有很大的补充。不仅你在创业公司工作的时间算作商业工作经验(与宠物项目相反),而且它在投资组合中看起来也很棒(特别是如果它是一个可以被一些人力资源部门访问的网站)。
最后,最后一个也是主要的原因——钱。如果你的创业公司是SaaS(软件即服务),你可以从技术上将其视为被动收入来源。当您构建多个小型 SaaS 网站时,您会获得更高的速度、专业性和经验——这意味着,构建一个可以赚更多钱的新产品只需要很少的时间。
在这篇文章中,我将描述我建立创业公司的经验,并分享一些可行的技巧和建议。
寻找想法
我们的用户提出的不同已发布的想法。
你可能对你的产品有所了解。不可以。或者你可能有数百个想法。集思广益是一个创造性的过程,因此在产生新想法方面并没有真正的标准化过程。
但是,有一个过程可以验证您的想法:
- 查看相关市场。你想建立一个租书的网站吗?检查书籍的市场规模、租赁服务、查找去年售出的书籍数量等。如果您发现其中一些市场最近正在下降,这可能是一个问题。例如,随着电子书、图书应用程序等的出现,这些书籍越来越不受欢迎。
- 检查你的竞争对手。如果有很多竞争对手,你必须确保你的解决方案至少好 5 到 10 倍。如果竞争对手很少,这仍然是一个好兆头——这意味着你可以学习这些产品,看看它们是否有利可图,看看是否有市场契合度。但是,如果没有竞争对手,情况就很复杂了。可能是因为你的想法太新颖了,还没有人想到它。或者,你的想法可能是所谓的“tarpit”想法——许多人试图构建它,但没有一个人成功。在这种情况下,你必须尽可能地逃避这个想法。
- 分析你的客户和你正在解决的问题。你的目标受众是什么?他们愿意支付多少?此问题多久发生一次?可以避免吗?
现在是介绍我的创业公司——validator.yazero.io 的最佳时机。我们通过使用人工智能、网络抓取、多种不同的 API 和可量化的反馈来帮助验证过程。
在寻找想法时,还有一个建议——尝试利用你的“个人优势”。你有物理学等特定领域的学位吗?尝试从那里使用你的知识。你在律师事务所有朋友吗?试着问他有什么问题,你如何帮助/优化一些过程,等等。
如果您想了解更多关于想法的信息,请查看我之前的文章。这是一本关于开始创业的指南,专注于技术人员。
寻找联合创始人
我(右)和我的联合创始人(左)的照片
你在创业公司中是否有一些你不想做的部分(比如营销、前端或销售)?最好的解决方案是找到一个联合创始人——他们不仅在这个领域更有经验,而且他们也愿意为此努力。对你个人来说,构建自己的产品应该是有趣和有趣的,所以如果有一个你不喜欢的部分,试着委托它。
寻找联合创始人的另一个原因是额外的验证。他们总是会帮助你不要太深地爱上你的想法,这些想法可能不是那么好,他们总是会为产品提供反馈,最后——他们和你一样对构建感兴趣。这意味着您可以让您的初创公司运行得更快、更好 2 倍,有时甚至更多。
例如,如果你没有前端经验,学习一个新的框架可能真的很令人生畏。这不仅会花费你很多时间,而且还会花费你最宝贵的资源——动力。但是,如果你把它委托给有更多经验的联合创始人,他们会立即完成它,提供更高质量的结果,你将能够专注于你感兴趣的事情。
您可以在 YCombinator 联合创始人匹配平台等平台上找到您的第一个联合创始人。我在那里找到了我的联合创始人,我对这个决定感到非常高兴。
此外,还有一些协作工具——在我们的工作流程中,我们使用Todoist来分配任务和跟踪进度,使用Github进行版本控制和自动化部署,使用Figma进行设计和概念头脑风暴。
我们的 Figma 早期概念设计
前端
最后,我们从技术部分开始。
对前端的主要建议(如果你决定自己实现它)是使用你所知道的框架。即使它已经过时了,或者所有其他开发人员都讨厌它,如果您知道它,请使用它。重要的是将您的解决方案提供给最终用户。如果它对他们有用,它就对你有用。
在新手前端开发人员中经常出现一个问题——他们总是试图追随最新的趋势,使用一些受欢迎的 youtuber 推荐的“最佳”框架,最后他们会重新学习每个新项目的所有内容。
继续使用您熟悉的框架并提高使用它的技能要好得多。这样你就会知道如何修复你的错误,你会开发得更快,而且你下次会有一些模板可以开始。
如果你是一个 Python 爱好者,我建议你查看我的 Python 中的前 5 个前端库和 Python 中的前 5 个前端库第 2 部分。我对前端最常用的 Python 库进行了全面概述,并比较了它们的优点和缺点。如果你有一些 Python 经验,使用这些库对你来说会更容易,这样你就可以更快地完成你的产品。
使用 Solara 创建的网站的一些示例 - 一个 Python 前端库
对于部署,有两种方法:
- 使用一些现有的解决方案,如 Vercel、Netlify 和 AWS Amplify。这是最简单的选择,特别是如果您使用一些流行的框架,例如 NextJS 和 React。然而,不利的一面是,这些解决方案中的大多数都不能为您提供用于商业用途的免费部署——例如,在 Vercel 中,您必须支付 20 美元。AWS Amplify 有一个免费的商业计划,但它也有一个冷启动(如果用户访问您的网站的频率不够高,则下次访问时将需要 ~4 秒才能加载)。
- 将您的自托管解决方案与 Hetzner、AWS、Google Cloud 等提供商一起使用。一方面,通常没有免费套餐。从另一方面来看,最便宜的解决方案通常非常便宜。例如,在 Hetzner 上,您只需 2 欧元即可获得 4-5GB RAM 私人服务器(这对于任何并发用户少于 100 个/计算量不大的网站的后端/前端托管来说通常就足够了)。使用自托管解决方案还可以让您对应用程序有更多的控制和透明度。自托管解决方案的另一个优点是您可以学习如何设置 DNS、SSL、Docker 和其他内容,这对您的简历和技能组合有巨大的提升。
后端
我将在这部分中更详细地介绍,因为我主要负责我们初创公司的后端部分。
有时,会出现一个问题——为什么你需要后端?为什么你不能在用户端做所有事情?
答案是更好的安全性、可观察性、对管道的更多控制、更好的日志记录以及使用更大计算能力的能力。如果您托管一个大型 ML 模型,将其发送给用户并在他们这边进行计算通常是一个坏主意。更好的解决方案是带有 GPU 和供前端使用的 API 的私人服务器。
我用于初创公司后端的主要工具是带有 Pydantic、Gunicorn、Docker、Docker Compose 和 Nginx 的 FastAPI。我喜欢 Docker,因为它为您提供了一个始终有效的解决方案,无论操作系统、环境等如何。当您的应用程序有多个组件必须同时运行时,这也非常好 - 例如,与后端并行的数据库。
您在后端需要的一件重要事情是监控。为此,我找到了两个独立的解决方案——prometheus 和 FastAPI 分析。它们都为您提供了一个很好的仪表板,您可以使用它来查看您的 API 是否成功处理了请求、响应时间是多少、最常用的端点是什么等等。
FastAPI Analytics 仪表板。不要介意 88% 的成功率 — 我在后端没有图标,每次访问时,它都会尝试使用 GET /static/favicon.ico 获取该图标,这会导致请求:D失败
监控后端的好处是知道某处是否存在问题/错误,或者例如,表明您需要获得具有更多 RAM/CPU 能力的更好服务器。
我通常在 Hetzner 的 VPS 上部署我的解决方案,因为这是最便宜的选择。
最后,有很多人说“Python 太慢/太重,无法在生产中使用”,或者属于这些行。这在 99% 的情况下是不正确的。
首先,如果您的请求需要 5 毫秒而不是 1 毫秒来处理,那么对用户来说绝对没有区别。但是,当您在几天而不是几周内完成解决方案开发时,这是一个巨大的优势。
其次,大多数库都进行了足够好的优化/在后台使用了 Fortran/C/Rust 等语言,所以最终你会得到相同的速度。
最后,如果你正在构建一个 AI 应用程序,特别是如果你使用 LLM,你的响应生成可能需要几十秒(这不取决于编程语言,而是取决于计算能力/API/其他东西)。那么,如果你的请求需要 20 秒,那么一些 Python 计算需要 0.1 秒是否重要?
总结
在这篇文章中,我们介绍了建立自己的创业公司的一些主要部分——你为什么需要它,如何找到一个完美的想法,如何构建前端和后端,以及如何将它们投入生产。
让我知道这对你是否有用,以及我是否应该写第二部分(关于生产中的人工智能、MLOps、营销、出版、销售、广告、定价模型和许多其他重要的事情)。
我还可以通过示例和实用指南更深入地生产您的后端。因此,在本文下发表评论,欢迎任何反馈!
感谢您的阅读,祝您编码愉快!