TinyPilot:第八个月
一句话总结
我的增长势头总得在某个地方停下来。
亮点
- TinyPilot 的收入六个月来首次下滑。
- TinyPilot 本月以 3.3 万美元的收入收官,比一月份下降 21%。
- 我急需的一个 TinyPilot 关键零件突然从各家供应商那里消失了。
- 把工作委派给别人,反而让我更没空闲时间了。
目标评分
每个月初,我都会宣布想要完成的目标。以下是我对这些目标的完成情况:
吸引五位博主或 YouTuber 加入 TinyPilot 联盟计划
- 结果:连联盟计划都没能上线
- 评分:D
我以为这会很容易。我用 Shopify 作为支付后端,而 Shopify 有大量可以创建联盟计划的应用。直到尝试创建联盟计划时,我才意识到每个选项都要求你把所有客户的个人信息交给联盟应用。
因此,我决定自己动手做一个,希望它真的像看起来那么简单。我要做的只是让联盟成员使用类似 tinpilotkvm.com/?ref=some-affiliate 的链接,并在交易中记录联盟 ID。月底时,我手动给每个人付款。这不能规模化,但对于大约 10 个联盟成员来说应该够用了。
为 TinyPilot 增加两个能降低支持或制造成本的功能
- 结果:我为应用增加了三个功能,为网站增加了两个功能,都能降低支持成本
- 评分:B
我为 TinyPilot 新增了三个便利功能,但还没有发布包含它们的正式版本:
- 通过 Web UI 更新 TinyPilot
- 通过 Web UI 更改主机名
- 从 Web UI 查看调试日志
我还添加了一个支持论坛和常见问题页面,这两样早就该加了。它们都能帮助用户自己解答问题,而不必依赖我的私人邮件支持。
就潜在的机架式 TinyPilot 收集 10 位客户的反馈
- 结果:收集到的客户反馈为零
- 评分:D
绘制机架式 TinyPilot 的草图比我预想的要花时间。再过几天,我就能拿出一份预览文档向客户展示并征求反馈。
TinyPilot 数据统计
| 指标 | 2021 年 1 月 | 2021 年 2 月 | 变化 |
|---|---|---|---|
| 独立访客 | 11,249 | 7,824 | -3,425(-30%) |
| 总页面浏览量 | 17,737 | 12,909 | -4,828(-27%) |
| 销售收入 | $41,992.92 | $33,061.41 | -$8,931.51(-21%) |
| 捐款 | $0.00 | $50.00 | +$50.00(+inf%) |
| 总收入 | $41,992.92 | $33,109.96 | -$8,882.96(-21%) |
二月是 TinyPilot 自 2020 年 8 月以来第一个收入下滑的月份。当然,3.3 万美元的收入也不容小觑,但我原本希望能维持一月份 4 万美元的收入水平。
部分原因是库存短缺。我在月中暂停了新的广告和推广,但上半月的营销效果不如我预期。
应对物料短缺
整个一月,我一直听供应商们谈论因春节导致的二月放缓。我听从了警告,购买了足够多的来自中国的零件,足以撑到三月中旬。即便如此,我还是觉得大家夸大其词了。一个国家不可能停工一个月吧?顶多停一周,然后一切照常恢复。
2 月 4 日,我向惯常的供应商下了一份订单,购买 Voyager——我的高端版 TinyPilot——所用的 HDMI 采集芯片。订单一直没有进展,所以我以为自己下单太晚了,等月底复工时就能拿到货。没问题!我早有准备。
两周后,我收到了这条消息:

HDMI 芯片供应商传来的坏消息
起初,这似乎不是什么大事。我再从别的供应商那里订就是了。
然后,我的备用供应商也说缺货。糟糕……
我又找到了几家其他供应商,但我不敢从从未合作过的海外供应商那里下大订单。从来没有供应商彻底坑过我,但有好几家曾把我的订单压上几个月才发货。
为了对冲风险,我把订单分散到 eBay 和 AliExpress 上的几家供应商。问题是,我觉得这些卖家其实大多是同一家公司。一位 eBay 卖家直接跟我挑明了:

我试图通过向多家供应商下单来分散风险,但他们其实是同一家供应商用不同名字运营。
每次下单都会发生以下两种情况之一:
较差的情况
- 我下了订单
- 供应商回复说缺货,问我是愿意等待还是退款?
- 我要求退款
- 钱退回来了,但我还是没有芯片
更糟的情况
- 我下了订单
- 供应商给订单添加一个虚假的追踪号
- 我问供应商为什么 DHL 上查不到,他们告诉我很快就能查到
- 每两天重复一次第 (3) 步
- 我既没有拿到钱,也没有拿到芯片
我甚至试过换成同一芯片的另一个型号,但这些商品列表同样让我碰壁。芯片还没用完,但照目前的进度,库存将在未来两周内耗尽。与此同时,我把 Voyager 的价格上调了 10%,以减缓销售速度。
YouTube 上的成功可能难以复制
在 TinyPilot 迎来第一次 YouTube 测评之后,业务经历了有史以来最大的一次销售激增。我自然地想:“哇!我真得找更多 YouTuber 来测评 TinyPilot。”

第一次 YouTube 测评带来了巨大的销售飙升
我又与两位 YouTuber 合作做了测评,但效果没那么显著。后续的测评都是正面的,但对销售没有可衡量的影响。

我仍然认为 YouTube 潜力巨大。有大量 YouTuber 教授服务器维护知识。如果能在他们演示底层管理操作时让他们用上 TinyPilot,那对 TinyPilot 品牌将有巨大价值。
挤出深度工作的时间
过去几个月,我一直感到时间极度紧张。待办清单上有太多事情,而我常常是先处理紧急的事而不是重要的事。我发现自己的大部分时间都花在回复邮件上,专注于短期任务,而不是服务于长期目标的深度工作(Deep Work)。
另一方面,也许我对时间的安排已经是最优的了。我一直在专注于更多地委派工作,但雇新人意味着短期内我能用于深度工作的时间变少了。我花更多时间与人沟通、帮助新员工上手。
我没有尝试委派客户服务,因为我认为 TinyPilot 吸引力的一部分就在于客户认定我个人对这家企业负责。面对企业级 KVM 供应商,你根本联系不上工程师,更别提 CEO 了。
话虽如此,我也不想让自己过于随叫随到,以至于把所有时间都用来回复客户邮件。我正在想办法既保持可联系性,又为客户提供比给我发邮件更容易解决问题的途径。
以下是我减轻客户支持负担的计划:
- 调整支持文档中的措辞,告诉用户我会优先处理支持论坛上的帖子,而非发到我私人邮箱的请求。
- 为反复出现的支持问题添加 FAQ 文章。
- 把更多开发精力投入到修复 bug 和易用性功能上。
遗留项目
以下是一些我仍在维护但并非当前开发重点的项目简报:
Is It Keto
| 指标 | 2021 年 1 月 | 2021 年 2 月 | 变化 |
|---|---|---|---|
| 独立访客 | 80,177 | 60,437 | -19,740(-25%) |
| 总页面浏览量 | 182,367 | 135,865 | -46,502(-25%) |
| 域名评级(Ahrefs) | 11.0 | 11.0 | 0 |
| AdSense 收入 | $677.36 | $584.18 | -$93.18(-14%) |
| Amazon 联盟收入 | $238.02 | $202.78 | -$35.24(-15%) |
| 总收入 | $915.38 | $786.96 | -$128.42(-14%) |
Is It Keto 仍在享受新年决心减肥者带来的访客增长。从一月到二月的降幅与 2020 年几乎完全相同。
该网站继续在后台自行运转,无需我操心。上个月有人出价收购该网站,估值还算不错,但完成交易所需的时间会占用太多本应投入 TinyPilot 的精力。
Hit the Front Page of Hacker News
| 指标 | 2021 年 1 月 | 2021 年 2 月 | 变化 |
|---|---|---|---|
| 独立访客 | 1,042 | 483 | -559(-54%) |
| 总收入 | $2,565.22 | $359.95 | -$2,205.27(-86%) |
遗憾的是,我已经停止推广这门课程。一月份我尝试了几种营销手段,但似乎都对销售没有影响,所以我就不再尝试了。感觉很可惜,因为我在课程上投入了大量时间,而成果消退得如此之快。
Zestful
| 指标 | 2021 年 1 月 | 2021 年 2 月 | 变化 |
|---|---|---|---|
| 独立访客 | 419 | 434 | +15(+4%) |
| 总页面浏览量 | 1,194 | 1,236 | +42(+4%) |
| RapidAPI 收入 | $155.50 | $32.52 | -$122.98(-79%) |
| 总收入 | $155.50 | $32.52 | -$122.98(-79%) |
Zestful 也在后台平稳运行。我意外收到了一波关于企业套餐的咨询,但目前还没有任何实质进展。
有趣的发现
Litestream
我讨厌负责数据库备份,所以最后总是使用托管数据库,比如 Google Cloud Datastore 或 Google Firestore。但随着 Google 越来越多地让我后悔在其平台上构建产品,我开始寻找替代方案。
Litestream 看起来正是我一直在等的解决方案。它是一个轻量级服务,可以把 SQLite 数据库复制到任何兼容 S3 的接口。这意味着我可以毫无预警地彻底摧毁一台服务器,而所有数据仍安全地存储在我的 S3 存储桶中。当我重新启动服务器时,它会优雅地从 S3 拉取数据库并恢复运行,无需我做任何手动修复。
为了测试 Litestream,我创建了一个 TinyPilot 需要的小型日志粘贴服务。我可以把它运行在任何 Docker 托管服务上(Heroku、Lightsail、DigitalOcean),而且它正好能放进 Heroku 和 Amazon S3 的免费额度里。任何时候,我都可以销毁 Docker 容器,把它部署到别处,它将拥有完全相同的数据并自动继续复制。
Plaintext accounting(纯文本记账)
过去两年,我一直不情愿地用 Xero 记账。我不喜欢这款软件,但它是我能找到的最好的记账方案。
我最近了解到 plaintext accounting,这是一种面向开发者的理财方式,使用命令行工具和纯文本文件中的复式记账法。与 Xero 相比,我觉得纯文本记账直观得多,也更有信心自己做的是对的。
这些工具都有陡峭的学习曲线,但到目前为止我最喜欢的是 Beancount。它吸引我的地方在于它是同类中最成熟的工具之一,而且是基于 Python 的。
收尾
完成了什么?
- 为 TinyPilot 招聘了三名自由职业开发者
- 两人每周花 10–15 小时做产品,一人每周花 3–5 小时做网站
- 创建了 TinyPilot 支持论坛和 FAQ
- TinyPilot 下个版本的功能开发全部完成
- 发布了《My Third Year as a Solo Developer》,登上了 /r/programming 第一名和 Hacker News 第七名
- 作为嘉宾参加了两期播客:
- The Hexdevs Podcast,谈财务独立
- The Entrepreneurial Coder Podcast,谈写博客和 Hacker News
经验教训
- 即使是普通商品零件也可能一夜之间消失。
- 我很清楚依赖某一种特定 HDMI 采集芯片所带来的风险。
- 当时我觉得风险很低,因为有几十家供应商在卖这种芯片,其中许多家随时报告有 1000+ 的现货。
- 最坏的情况下,我可以换用采用相同芯片组的替代板卡,这样的板卡有好几种。
- 当短缺真正发生时,这两个假设都被打破了。所有供应商同时断供了所有板卡型号,这说明各供应商之间的独立性远不如表面看起来那样。
- 要为春节做更多准备
- 我原以为响应会慢一周左右,但大多数供应商整个二月的大部分时间都在歇业。
- 今后,我会做好中国供应商从二月初到三月底完全无法供货、无法发货的准备。
下个月的目标
- 招聘两名本地兼职员工,开始接手订单履约工作。
- TinyPilot 目前的履约经理六月要回研究生院读书。
- 吸引五位博主或 YouTuber 加入 TinyPilot 联盟计划。
- 就潜在的机架式 TinyPilot 收集 10 位客户的反馈。
随机一篇博客