跳至主要內容
科技 分析

圖片不上傳伺服器這句話,撐起一位四十歲工程師的第二次開局

一位四十歲被資遣的工程師在 V2EX 發文分享自己以瀏覽器端圖片壓縮站創業的過程,這篇文章從技術選型、中年轉職與獨立開發的現實,分析這條路到底通向哪裡。

YIM NEWS 編輯台 閱讀約 4 分鐘

九月五日,V2EX 程序員版出現一篇貼文,標題寫得直白:四十歲被畢業,為了養家餬口做了一個瀏覽器端圖片壓縮站,請大家挑刺。發文人 richangfoo 說自己今年四十多,上半年被公司資遣,履歷投出去大多石沉大海,這個年紀,公司不太缺寫業務程式碼的人。與其繼續擠那扇快關上的門,他決定自己弄一個東西,站點叫 zipo.pics,核心賣點只有一句:圖片從頭到尾不出瀏覽器。

這句話聽起來技術味很重,但它影響的是很日常的事。你把照片丟上一般壓縮網站時,檔案其實被傳到對方的伺服器處理,處理完再傳回來。而 zipo.pics 的做法是把壓縮程式用 Rust 編譯成 WebAssembly,直接跑在你的瀏覽器裡,好比把洗衣店搬進你家廚房,衣服從沒離開過你的視線。對經手客戶照片、設計稿或醫療影像的人來說,「檔案不上傳」本身就是採購理由。

開發日誌裡最值得看的,是那些撞牆的紀錄

這篇貼文真正的價值,在於作者把踩坑過程一條條攤開。為了開多執行緒加速,他打開了跨源隔離(Cross-Origin Isolation),速度上來了,但 Google 登入直接掛掉,因為安全標頭把登入用的 iframe 攔死了,只好改回彈窗授權流程。接著 OAuth 登入又纏了一整天,X 的彈窗回跳因為 opener 變成 null,訊息根本傳不回來,最後統一改成 cookie 回傳加主站輪詢。

最驚險的是九月四日凌晨的 P0 事故:全站壓縮功能崩潰,根因是多執行緒 WASM 包在跨源隔離環境下,嵌套的 worker 被安全機制攔掉。他的回滾方案是預設路徑絕不自動載入多執行緒包,只有使用者主動開啟 Turbo 才載入。這條紀錄對任何想在瀏覽器裡跑高效能運算的開發者都值得抄進筆記,因為這類坑官方文件幾乎不寫,全靠真機一步一步試出來。

SEO 那段則是另一種提醒。他鋪了兩百多個本地化長尾落地頁,結果前端框架的 hydration 把伺服器渲染的標題覆蓋掉,搜尋引擎收錄整個卡住,回頭修完才補上 Bing、百度與 IndexNow 的站長驗證。做產品的人常以為功能上線就算完成,實際上被看見這件事,本身就是另一個工程。

四十歲創業,算的是完全不同的帳

留言區的反應很能代表現實的兩面。有人指出壓縮一張圖要載入一百多 MB 的資源檔,這對行動端使用者是硬傷;有人直言這類工具已經爛大街,Squoosh、compressjpeg、remove.bg 各佔一席。但也有同齡人留言,說自己也快四十,正害怕同樣的處境,只能往新行業走。

把鏡頭拉遠一點看,獨立開發圈近年反覆出現同一道算式:被僱傭市場排除的人,轉向微型 SaaS 自救。這與我們先前討論過的讓 AI 寫程式前先想清楚它在流程裡的位置是同一股潮流的一部分,一個人加 AI 工具,就能跑完過去需要小團隊的開發量。作者自己也說前端是 AI 做的,手工刻程式碼成本太高,快速 MVP 才是要務。

但工具類產品的殘酷之處在於,技術門檻低意味著永遠有人用更低的價格進場。圖片壓縮這個品類裡,Google 開源的 Squoosh 免費又穩定,作者的差異化只能壓在隱私敘事、AI 去背景降噪等加值功能,以及海外使用者願意為「檔案不出瀏覽器」付費的假設上。這個假設成不成立,決定了整個第二次開局的成敗。

一般讀者能從這篇貼文帶走什麼

如果你也在科技業中年段,這篇貼文提供了幾個可操作的訊號。第一,出海仍是多數獨立開發者的共識選擇,國內流量貴、競爭密度高,英語能力能直接換成市場。第二,開源與閉源的切分可以很務實,作者把前端架構以 MIT 授權放上 GitHub,壓縮核心 WASM 保持閉源,既累積能見度又不傷商業籌碼。第三,一個人測試永遠有盲區,他發文求挑刺本身就是最低成本的全網眾測,回覆裡那條「一百多 MB 資源檔」的質疑,大概比他自己測一個月找到的問題還多。

四十歲被畢業,履歷投不出去,這些事實不會因為做了一個網站而改變。改變的是,他把等待錄取通知的時間,換成了累積產品與使用者的時間。這條路多數人走不通,但走不通的人至少知道牆在哪裡,而留下開發日誌的人,還能讓後面的人少撞幾次。這或許是這篇貼文除了求挑刺之外,最實際的公共價值。

主題

#獨立開發#瀏覽器技術#中年轉職