TinyPilot:第 11 個月
一句話總結
我該如何提升 TinyPilot 的利潤率?
重點摘要
- 儘管月營收達 3 萬美元,TinyPilot 仍僅能勉強打平成本。
- 我正在探索讓大型企業為 TinyPilot 支付更多費用的方案。
- 我必須正視管理人員本身就是一份正職工作的事實。
目標成績
每個月月初,我都會宣告當月想完成的目標。以下是我的達成情況:
將 TinyPilot 的營收提升至 3.3 萬美元
- 結果:將 TinyPilot 的營收提升至 3.9 萬美元
- 評等:A
TinyPilot 在 ServeTheHome(IT 硬體領域頂尖的部落格/YouTube 頻道之一)發表重磅評測後,銷量大幅激增。
將 TinyPilot 的營運完全遷移至新辦公室
- 結果:TinyPilot 已完全在新辦公室營運
- 評等:A
我們終於將 TinyPilot 的營運從我家搬進了真正的辦公室。過程中也有些壓力很大的日子,例如我一度不確定能否在 Linux 上搞定列印功能,但整體而言轉換相當順利。現在進貨的零件直接寄到辦公室,員工在辦公室組裝與測試產品,完成的訂單也從辦公室出貨。
針對 Refactoring English(《重構英文》) 的目錄蒐集回饋並進行迭代
- 結果:已蒐集到回饋,但尚未確定如何整合
- 評等:B
我從 Write Useful Books 社群以及我的電子報訂閱名單獲得了回饋。在 202 名訂閱者中有 6 人回覆,雖然比我預期的少,但提供了很有幫助的回饋。
大家似乎對「寫出更好的部落格文章」這類高階任務更感興趣,而對解釋如何改善動詞使用的章節較不感興趣。我想重新排序,把有趣的部分往前放,但還不確定該怎麼做,因為後面的章節依賴前面的內容。
令人興奮的成果自然比基礎知識更吸引人。如果我寫一本關於製作電玩遊戲的書,大家會對「如何打造具備智慧 AI 的敵人」這類章節感興趣,而可能對「線性代數基礎」沒那麼有興趣。這不代表我可以直接跳過基礎,但或許意味著我需要在教授基礎的同時,找到讓課程實用且容易應用的方法。
TinyPilot 數據統計
| 指標 | 2021 年 4 月 | 2021 年 5 月 | 變化 |
|---|---|---|---|
| 不重複訪客 | 5,880 | 7,283 | +1,403 (+24%) |
| 總瀏覽量 | 10,483 | 13,267 | +2,784 (+27%) |
| 銷售營收 | $28,880.65 | $38,767.77 | +$9,887.12 (+34%) |
| 利潤 | $843.56 | $6,858.72 | +$6,015.16 (+713%) |
TinyPilot 迎來了有史以來第二好的月份。在這樣的銷售水準下,一切運作都十分順暢。今年 1 月出現類似的搶購潮時,曾讓我們應接不暇。幸好我們已改善了訂單履行流程,因此所有系統都正常運作。
我只是個主管
2012 年至 2014 年間,我在一家名為 iSEC Partners 的公司擔任軟體安全顧問。我的主管 Peter(彼得)負責管理紐約的整個團隊。他經常自嘲地說:「我只是個主管——算是間接人力啦。」他這麼說,是因為所有員工都在做有生產力的工作,而他只是公司官僚體系的一部分。
但彼得是一位極為出色的主管,這點大家心知肚明。我想他之所以會開玩笑說自己的角色不重要,是因為管理工作讓他比較少時間參與公司裡更有趣的事,像是安全研究與工具開發。
現在我能體會彼得當時的心情。常常到了一天結束時,我會覺得自己一整天只做了回電子郵件這件事。但退一步想,我能理解為什麼會有這樣的日子。目前我在 TinyPilot 與許多人合作:
- 三位遠端軟體開發者
- 三位負責庫存、組裝與訂單出貨的本地員工
- 兩家在 3D 列印與電機工程方面密切合作的廠商
因此,總共有八個人我每週至少會聯繫一次。除此之外,還有其他需要往來的人員與服務,例如辦公室房東、我的人資/薪資服務、我們的知識庫,以及用來追蹤庫存的工具。而客服與銷售目前只有我一個人在處理。
考量到這些情況,會覺得我大部分時間都在回電子郵件也就合理了。我需要調整策略,更徹底地擁抱管理工作。
避免去做團隊成員也能勝任的工作
我現在做過最笨的事情之一,就是去承擔團隊中其他人明明也能勝任的任務。上個月,我提到自己一天只有一小時能寫程式。再仔細想想,我甚至不該做這件事,因為我的隊友也能寫程式,而我卻在只有我才能做的任務上落後了。
別再囤積只有 Michael(麥可)才能做的任務
有一些任務理論上別人也能做,但實際上卻不行,因為目前只有我擁有必要的存取權限或知識。
這些任務主要橫跨不同領域或職能,例如管理只有本地員工會使用的工具。以下是我應該委派出去的事項(依與我脫鉤的難易度由低到高排列):
- 管理串接 Shopify 與庫存試算表的膠合程式碼。
- 管理用於建置 TinyPilot 正式版映像檔的腳本。
- 管理庫存試算表中的公式。
- 回覆客服問題。
- 對 TinyPilot 版本進行最終 QA 測試。
每月 3 萬美元怎麼會不賺錢?
最近我向女友感嘆,許多阻礙 TinyPilot 成長的問題很可能都有簡單的解法,只是因為我沒有接觸到經營類似事業的人,所以不知道。她問我希望向誰請教,並指出我其實可以直接想到人選就寫信給他們。
第一個浮現在我腦海中的人是 Mike Perham(麥克·帕勒姆),Sidekiq 的創辦人。麥克在 Indie Hackers 上的訪談是我最喜歡的節目之一。我還在 Google 擔任員工時就聽過,而他的事業一直讓我印象深刻,認為是獨立軟體事業的理想典範。他靠著撰寫開源軟體每月賺進約 8 萬美元。最棒的是,客戶在自己的機器上運行 Sidekiq,因此幾乎不可能出現需要麥克緊急處理的突發狀況。
我並不認識麥克·帕勒姆,所以我寫了一封自我介紹的信,詢問他對 TinyPilot 是否有任何建議。他隔天就回覆了,提供了幾個非常慷慨的建議。其中最讓我印象深刻的是他對我財務狀況的反應:
把利潤拉起來。5% 的利潤率不是一門健康的生意。要嘛降低成本,稍微調整一下價格,要嘛找一個更接近純利的純軟體附加產品。
那是一記有幫助的當頭棒喝。我知道自己的利潤很低,但仍覺得每月 3 萬美元代表我處在不錯的位置。但以 5% 利潤率的角度來看,情況就完全不同了。
根據麥克·帕勒姆的建議,我更仔細地檢視了我的支出。我還沒完成 5 月的帳務,所以在此以 4 月為例。

依類別區分的 TinyPilot 支出
| 類別 | 總計 |
|---|---|
| 原物料 | $15,637.68 |
| 軟體外包人員 | $9,331.79 |
| 本地出貨人員 | $1,460.12 |
| 郵資 | $1,262.53 |
| 電機工程顧問 | $901.25 |
| 辦公室租金 | $550.00 |
| 廣告 | $370.00 |
| 律師費 | $270.00 |
| 辦公室設備 | $233.72 |
| 平面設計 | $169.00 |
| 貼紙 | $163.63 |
| 雲端服務 | $176.33 |
| 雜項 | $161.21 |
我的原物料成本並不令人意外。實體產品的利潤率一般約為 50% 至 60%,所以在約 3 萬美元的銷售額下,1.5 萬美元的成本符合預期。這部分沒有太多調整空間,因為我購買的材料沒有更便宜的替代品。有一些像是線材的品項,我為了品質而支付溢價,但那在售價 300 美元的產品上,每單位僅差 1 至 2 美元。昂貴的零件是那些沒有更便宜替代品的東西,例如 Raspberry Pi 或 HDMI 擷取晶片。
我的第二大支出是軟體開發,這在明明我自己也會寫軟體的情況下,或許看起來很奇怪。問題在於,要寫好軟體需要不被打斷的專注時間,而 TinyPilot 有太多非軟體的環節需要處理,無法讓我擁有那樣的時間。2020 年底,TinyPilot 的軟體開發幾乎陷入停滯,因為我是唯一的開發者,同時又忙於處理新產品相關的所有後勤事務。
我可以聘請更便宜的開發者,但那很快就會變成一場災難。我合作的開發者都特別優秀。他們維持了程式碼庫的高品質,讓軟體能持續易於維護且錯誤率低。
我曾與較便宜的開發者(約每小時 30 美元)合作過,他們要不是完全無法完成工作,就是採用天真的實作方式,導致後續產生錯誤與維護上的麻煩。如果我用低成本的開發者來組建專案,程式碼庫會在幾個月內變得無法維護、成為一場惡夢。
除此之外,我沒有任何可以大幅削減的支出。我的第三大支出是本地出貨人員,但即使削減 50% 的成本,也只能降低整體支出 2.4%,所以不值得去動一個運作良好的系統。
遵循麥克·帕勒姆建議的另一種方式是增加營收。
從大型客戶身上獲取價值
今年稍早,我與一家大型企業的 IT 經理談過。他非常喜歡 TinyPilot,並想在公司內部推廣,以取代他們舊有的、每台要價 2,000 美元的企業級設備。而且他成功了!該公司在其中一個部門部署了 40 台 TinyPilot,並計畫部署更多。
猜猜 TinyPilot 從這次部署中賺了多少?零。
他們沒有向我購買硬體,而是自行打造裝置。而由於軟體採用了寬鬆的開源授權,他們可以免費在公司內使用,完全不需要付費給我。
這在開源領域是極為常見的問題。寬鬆的授權有助於讓人們發現你的產品並鼓勵他們使用,但同時也讓大企業能夠從你的成果中獲利,卻什麼也不回饋。
我也為此詢問了麥克·帕勒姆。以下是他的回覆:
聽起來你的授權讓大客戶予取予求。這是你的程式碼,對吧?改掉你的授權吧,例如只允許愛好者以單一實例供個人使用。MIT 或 BSD 授權很適合用來分享程式碼,但不適合作為事業的基礎。
算是我的程式碼……某種程度上。為 TinyPilot 工作的特約人員都簽署了合約,表明我擁有他們貢獻程式碼的智慧財產權,但我也接受過少數志工開發者的貢獻。我的理解是,那些免費貢獻程式碼的開發者在技術上與我共同擁有 TinyPilot 程式碼的著作權。
我將 TinyPilot 以 MIT 授權釋出,因為它也給了我彈性。我想我可以自行將程式碼「分叉(fork)」成不同的授權,並表示它也使用了 MIT 授權的程式碼,但我不太確定實際運作方式。
我思考過從大型企業客戶身上獲取更多價值的方法,以下是我的想法:
為 TinyPilot 提供 Enterprise(企業版)功能
大型客戶會要求、但其他人不會要求的功能之一,就是對 TinyPilot 進行程式化的存取。例如:「我想監控遠端畫面,以偵測目標裝置何時當機,然後產生警示。」
我打算與大型客戶洽談推出具備此功能的 TinyPilot Enterprise 版本,並收取高額費用。我認為像每台裝置每月 50 美元這樣的價格,對家庭使用者來說很荒謬,但對財星 500 大企業而言,如果能省去數週自行打造解決方案的時間,這筆錢根本微不足道。
提供 SaaS(軟體即服務)附加產品
如果你與裝置位於同一個區域網路內,TinyPilot 很容易使用,但如果客戶想透過網際網路存取他們的 TinyPilot,目前就必須依賴第三方解決方案。我已向幾位客戶提過「TinyPilot Cloud Portal」這個構想:一個安全的網頁介面,讓他們能在網際網路上的任何地方遠端存取自己的 TinyPilot 裝置。
這將是一個很好的軟體即服務訂閱機會,可作為 TinyPilot 硬體產品的補充,並帶來更高的利潤率。
不過,我想避免託管一個需要我隨時待命的服務。我正在探索與能夠管理該服務營運層面的廠商合作的可能性。
諮詢專精於開源授權的律師
關於開源授權,我還有很多不了解的地方,所以我應該去諮詢律師,了解我有哪些選擇。理想的授權應該能讓個人使用者以可負擔的價格在家試用 TinyPilot,然後在商業環境中為雇主採用更昂貴的授權,類似 Sidekiq 的模式。
舊有專案
以下是一些我仍在維護、但已非主要開發重心的專案的簡要更新:
Is It Keto
| 指標 | 2021 年 4 月 | 2021 年 5 月 | 變化 |
|---|---|---|---|
| 不重複訪客 | 56,094 | 49,085 | -7,009 (-12%) |
| 總瀏覽量 | 123,723 | 108,862 | -14,861 (-12%) |
| 網域權重(Ahrefs) | 11.0 | 11.0 | 0 |
| AdSense 營收 | $560.20 | $466.84 | -$93.36 (-17%) |
| Amazon 聯盟行銷營收 | $116.78 | $138.99 | +$22.21 (+19%) |
| 總營收 | $676.98 | $605.83 | -$71.15 (-11%) |
Is It Keto 持續在背景運作,但這個月我難得做了一些維護。我的許多 Amazon 聯盟行銷連結已經過期,指向已不存在的產品,所以我花了幾個小時進行修復。
在數個月沒碰程式碼後重新檢視,實在很想一頭栽進去修修改改。但我必須克制自己,因為把重心盡可能放在 TinyPilot 上對我更有幫助。
Hit the Front Page of Hacker News
| 指標 | 2021 年 4 月 | 2021 年 5 月 | 變化 |
|---|---|---|---|
| 不重複訪客 | 114 | 191 | +77 (+68%) |
| Gumroad 營收 | $341.61 | $417.85 | +$76.24 (+22%) |
| Blogging for Devs 營收 | $109.20 | $0.00 | -$109.20 (-100%) |
| 總營收 | $450.81 | $417.85 | -$32.96 (-7%) |
這門課程每個月仍有少量銷售,但我沒有花太多時間推廣。
其中一個亮點是 Dan Willoughby(丹·威洛比)應用了課程中的經驗,撰寫了一篇文章,登上了 Hacker News 的第二名。而且他並非套用什麼「成長駭客」手法來操弄系統。他只是花時間寫了一篇高品質的文章,並獲得了相應的回響。看到這樣的成果讓我感到很欣慰。
Zestful
| 指標 | 2021 年 4 月 | 2021 年 5 月 | 變化 |
|---|---|---|---|
| 不重複訪客 | 892 | 659 | -233 (-26%) |
| 總瀏覽量 | 2,132 | 1,784 | -348 (-16%) |
| RapidAPI 營收 | $40.82 | $32.85 | -$7.97 (-20%) |
| 總營收 | $40.82 | $32.85 | -$7.97 (-20%) |
儘管 Zestful 仍處於維護模式,上週末我還是發布了官方 Python 套件。這是我一直覺得該專案應該要有、卻因為不知道如何發布 PyPI 套件而一再拖延的事。我在 3 月把玩 Restic時學會了做法,所以我想不如就利用這個知識為 Zestful 製作套件。
現在,使用者可以在幾分鐘內開始使用 Zestful。像這樣安裝套件:
pip install zestful-parse-ingredient
接著,匯入 parse_ingredient 模組,並傳入一個食材:
import json
import parse_ingredient
ingredient = parse_ingredient.parse('2 1/2 tablespoons finely chopped parsley')
print(json.dumps(ingredient.as_dict()))
你會看到像這樣的 JSON 輸出:
{
"quantity": 2.5,
"unit": "tablespoon",
"product": "parsley",
"productSizeModifier": null,
"preparationNotes": "finely chopped",
"usdaInfo": {
"category": "Vegetables and Vegetable Products",
"description": "Parsley, fresh",
"fdcId": "170416",
"matchMethod": "exact"
},
"confidence": 0.9858154,
}
總結
完成了什麼?
- 將 TinyPilot 的營運從我家搬至真正的辦公室
- 與庫存管理人員合作,在 Notion 中記錄我們所有的流程。
- Notion 固然有些小缺點與陷阱,但相較於我們先前用來記錄內部流程的 Google Docs,已經是一大進步。
- 成功將職責從 TinyPilot 原本的庫存管理人員(我的女友)移交給新的本地員工。
- 我女友的研究所課程下週就要復課,所以她將沒有時間再處理 TinyPilot 的事務。
學到的教訓
- 關於新員工訓練,「用寫的,別用口頭教。」
- 我們幾乎完全透過書面指示,而非即時口頭討論,來訓練第一位本地員工。
- 我們對上手過程的順利程度都很滿意,這也讓職責移交給新員工的過程十分順暢。
- 第二位本地員工在 5 月中旬到職,而由於一切都已記錄下來,我們預期他的上手過程會更加輕鬆。
- 管理工作同樣需要時間。
- 如果我想做好管理,就需要放手讓團隊成員去做他們能勝任的任務。
- TinyPilot 需要更高的利潤率。
- 增加營收會比削減支出更容易。
下個月的目標
- 發布新版的 TinyPilot。
- 創造 3.5 萬美元的 TinyPilot 營收。
- 打造具備內建 Power over Ethernet(乙太網路供電)功能的 TinyPilot Voyager 2 原型。
隨機一篇部落格