產品打造心得分享 — PomodoRoll 番茄鐘

Posted on  Dec 26, 2023  by  Amo Chen  ‐ 5 min read

今年以來,我一直都在嘗試像 Indie Hackers 上所分享的故事一樣,想打造可以獲利的產品、服務,之所以想這麼做,除了想測試自己的能耐之外,也想知道台灣的軟體開發者,到底能不能像軟體蓬勃發展的歐美開發者一樣,走出一條不同的路。

以下是我這一路以來的心得:

台灣軟體獨立開發者走向國際的困境之一 — 金流

不知道各位有沒有思考過一件事,如果使用者來自世界各國,身為開發者的你要怎麼處理金流?作為台灣軟體獨立開發者,其實在金流方案的選擇十分有限,綜觀國際知名的幾家金流服務 Stripe, PayPal, Adyen 等等,其實對台灣軟體獨立開發者相當不友善,不是禁止台灣人使用就是有特殊限制(須設立公司等條件),所以如果有想嘗試類似路線的人,必須知道這條路一開始在金流的部分就有一定的障礙存在,所幸並非不能克服。

p.s. 當然我們也可以選擇使用紅陽、綠界、藍新等服務,不過這些服務鮮少為英語國家做特別的優化,所以你需要花額外的時間做整合(可能從介面到後端都需要⋯⋯)

用 LLM 打破語言隔閡

畢竟我也不是 Native Speaker, 以往在文法、用詞方面其實經常會有困擾,主要是不確定這樣寫對不對,或者是不是英語系國家的慣用語,所幸現在有 LLM 相關的工具可以輔助使用,所以我都是騰好一份草稿,再請 ChatGPT 幫我校正或者提供更常見的用語,小至按鈕文字,大至使用文件都能夠節省很多心力。善用 AI 相關工具確實是可以達到效率升級的效果。

有多少資源做多少事

獨立開發者通常都是 1 人或者 1 組規模很小的團隊,這種情況下自然沒有豐富資源可以運用,所以都是盤點現有資源,並且評估一項工作到底能不能在資源內完成,再來決定要不要進行。資源不僅僅是金錢、人力,還有時間與專注力,這些東西都很有限,所以在排程上絕對是重要/核心/沒有就不行的功能優先,酷炫的功能其次,還不清楚具體細節的功能排最後,這個呼應之前有提到的 Now-Next-Later 的概念。每項工作的 scope 盡量切小最好,你絕對不會想要看到 1 個工作事項在清單上放超過 3 天的,因為會使人覺得工作沒有進展,超級 emo, 所以我最喜歡 scope 小到可以半天做完的工作。

對規格仍不清楚的功能慢慢填上細節

處理 Now-Next-Later 中的 Later 時,雖然這些事項多半屬於規格不清或者很粗略的想法,但不代表它沒有價值被完成,可以善用一些空白時間、休息時間想想這些功能的細節,一點一滴釐清,然後搜尋看看有沒有現成的解決方案,再補到規格之中,說不定最後就會發現它很簡單,可以快速實作出來。

保持正面心態

你可能會遇到有其他人做過類似的產品、有大公司做出類似產品,就保持正面想法吧,世界這麼大,本來就很容易遇到類似的產品,我們還是可以選擇做出差異化,或者用更低價格提供服務,舉當年如日中天的 Evernote 為例,最後不是被後起之秀給打到體無完膚,甚至 To-Do list 服務也是一堆開發者在做,本來就沒有所有使用者都會滿意的軟體/服務。

至於開發技術方面:

多多利用 Framework / Library 帶來的開發速度優勢

避免重新發明輪胎,或者為了尚不存在的需求重新打造 Framework / Library 已經提供的功能。我十分可以理解重新發明輪胎所帶來的成就感,不過畢竟目的是最短時間內做好產品(拖太久就不會想繼續做),善用 Framework / Library 先把功能做出來才是重點。如果不熟 Framework / Library 的話,可以先到 YT 或者使用 ChatGPT 學習一下,其實有很多不錯的教學可以迅速上手。我個人是使用 Next.js 一次打盡前後端,再結合 Bootstrap, SASS 節省大量打造 UI 元件的時間。

整合/使用第三方服務

會員登入、註冊系統應該是每個產品/服務都需要的元件,我建議可以使用 Firebase 等服務,不僅費用低,還可以節省花在打造這些系統的時間。甚至在基礎建設方面也可以用 Heroku, DigitalOcean App, Google App Engine, Firebase, Azure App Service 等服務,寫好設定檔就能搞定部署,方便省時又省心。真心建議不要全部自己來,如果把戰線拉很長,會是很辛苦的一件事。

根據需求選擇對的資料庫

個人有遇到 1 個使用場景是 1 個功能需要依序打 A, B 2 個第三方服務的情況,不過 A 與 B 都有失敗的可能性,而且 A, B 2 個步驟都需要將結果寫入資料庫,如果到 B 步驟才失敗,那麼 A 步驟所寫入的資料還得還原才行。這種應用場景相當適合 MySQL, PostgreSQL 等 RDBMS, 可以用 transaction 與 rollback 輕鬆搞定。

但是,我一開始選了 MongoDB 做為資料庫,而 MongoDB 的 transaction 功能需要叢集(cluster)才能啟用,要建立叢集就是要額外的錢囉⋯⋯,相較之下,使用傳統的 RDBMS 還是有它的成本優勢。

總之,還是要根據需求,選擇正確的資料庫。

以上就是我目前一路以來的心得分享,希望未來還有機會能再多分享一些新的領域。

最後還是講一下 PomodoRoll 番茄鐘在做什麼,它是一款針對辦公室/在家工作族群設計的番茄鐘。

番茄鐘運用的是 1 種稱為 Timeboxing 的技巧,讓你將有限的時間切成多個區間,規定每個區間能只能專注在特定活動/工作,不過番茄鐘有自己一套規則,使用者可以設定自己需要多少專注時間與休息時間,只要進入專注時間內,就得持續到專注時間結束,才能享有作為獎勵的休息時間。

在這基礎之上, PomodoRoll 加上每次番茄鐘結束之後都會建議一組可以進行的伸展運動的功能,用來減緩久坐所造成的職業傷害,每次運動也只限定 1 分鐘,降低使用者的抗拒心理,同時增進效率與降低身體的傷害。另外,也針對現在站立工作的情境設計,可以紀錄站立進行番茄鐘的時間。

歡迎有在使用蕃茄鐘的朋友,或者已經有職業傷害的朋友試試,有任何建議與回饋也請告訴我 :)

PomodoRoll

對抗久坐職業傷害

研究指出每天增加 2 小時坐著的時間,會增加大腸癌、心臟疾病、肺癌的風險,也造成肩頸、腰背疼痛等常見問題。

然而對抗這些問題,卻只需要工作時定期休息跟伸展身體即可!

你想輕鬆改變現狀嗎?試試看我們的 PomodoRoll 番茄鐘吧! PomodoRoll 番茄鐘會根據你所設定的專注時間,定期建議你 1 項辦公族適用的伸展運動,幫助你打敗久坐所帶來的傷害!

贊助我們的創作

看完這篇文章了嗎? 休息一下,喝杯咖啡吧!

如果你覺得 MyApollo 有讓你獲得實用的資訊,希望能看到更多的技術分享,邀請你贊助我們一杯咖啡,讓我們有更多的動力與精力繼續提供高品質的文章,感謝你的支持!