返回文章列表
38 天,246 個 commit,0 行代碼 — 我用 Claude Code 從零打造一個 AI 字幕 + 配音 SaaS
開發日記2026-04-07

38 天,246 個 commit,0 行代碼 — 我用 Claude Code 從零打造一個 AI 字幕 + 配音 SaaS

開場

我是 Mr. K,一個在銀行 IT 部門當經理的人。白天的工作是處理企業級系統架構、災難恢復計畫、容量規劃這些聽起來很厲害但其實很悶的東西。晚上回家,我打開終端機,跟 Claude Code 一起搞我的 side project。

過去 38 天,我用 Claude Code 寫了 246 個 commit,做出一個完整的 AI 字幕 + 配音 SaaS — 「喂!字幕」(heysubtitle.com)。

整個專案,從第一個 commit 到今天的第 246 個 commit,我一行代碼都沒寫過、也沒讀過。我甚至看不太懂自己的 backend 在做什麼,只知道它能跑、用戶在付錢。

這篇文章是我這 38 天的真實開發日記,分成兩個階段:

  • 第一個 19 天(143 commit):從零做出一個能收費的 SaaS 雛形
  • 第二個 19 天(103 commit):重押 AI 配音功能

中間有崩潰、有罵髒話、有凌晨 4 點還在改 bug,也有 Claude 學會在我罵髒話之後反過來安撫我情緒的詭異瞬間。

如果你也在用 Claude Code 做 side project,或者你只是好奇「不會寫代碼的人到底能不能用 AI 做出產品」— 這篇是寫給你的。

為什麼選 Claude Code?

老實說,一開始只是想試試看。

作為一個有多年開發經驗的技術人(雖然主要是架構和管理,動手寫代碼的時間早就少了),我對 AI 輔助開發一直持觀望態度。GitHub Copilot 試過,覺得「不錯,但只是 autocomplete」。ChatGPT 寫過一些 script,覺得「能用,但需要我把架構想清楚才能餵給它」。

但當我真正開始用 Claude Code 進行對話式開發後,我被它的能力震撼了。

它不只是一個代碼補全工具,而是一個真正的開發夥伴:

  • 理解上下文 — 整個 repo 的架構、最近改了什麼、為什麼這樣設計
  • 記住專案決策 — 不需要我每次重新解釋
  • 能夠進行複雜的系統設計討論 — 從 DB schema 到 API 路由
  • 甚至幫你發現潛在的安全漏洞 — 我的 JWT 配置和 path traversal 都是它先抓出來的

最關鍵的是:它理解「為什麼」

我可以對它說「我想做一個按用戶語言自動分流到不同 TTS 引擎的系統」,它不會問我要 spec,它會直接動手寫,然後告訴我它的決策理由。我只需要說 yes 或 no。

這 38 天我寫的代碼比例是 0%。但產品還在跑、用戶還在付錢、commit 數還在漲。

第一個 19 天:從零到一個能收費的 SaaS

第一個 19 天,143 個 commit。我把這 19 天分成三週來看。

第一週(基礎建設)

用戶認證系統(註冊、登入、忘記密碼、Google OAuth)、影片上傳與處理管線、AI 語音轉文字引擎(Azure Whisper)、字幕編輯器搭配影片同步預覽、多語言介面(繁中、英文、簡中)、管理員後台(用戶管理、錯誤記錄、系統監控)、正式部署上線。

一週做完這些。我自己回頭看都不敢相信。

第二週(產品打磨)

四個訂閱方案上線(含外幣折扣、降級自動切換)、品牌重塑與新域名遷移、字幕編輯器大改版(彈出式面板、雙語對照、手機適配)、深色模式(6 個主題風格)、SEO 預渲染、數據分析追蹤、翻譯記憶系統、上傳前自動預檢。

這週開始有用戶付錢了。第一筆訂閱進帳的時候我盯著 Stripe dashboard 看了五分鐘,確認不是測試交易。

第三週(功能爆發)

AI 語音配音 v1、YouTube 網址直接上傳轉錄、Final Cut Pro 字幕匯出格式(FCPXML)、促銷碼 + 推薦獎勵系統、4 語言網站(共 76 頁預渲染 + 自動 Sitemap)、完整的錯誤訊息多語言化、管理後台國際化。

19 天結束的時候,這已經不是一個 MVP,而是一個功能完整、可以收費的產品。

技術棧

技術
前端React 18 + Vite + Tailwind CSS v4 + Framer Motion
後端Node.js + Fastify + SQLite + BullMQ + Redis
AIAzure OpenAI Whisper + Azure OpenAI GPT-4o + ElevenLabs + MiniMax
部署雲端 VPS, PM2, Nginx HTTP/2

這個 stack 有一半是我選的,另一半是 Claude 提的。它選的部分(BullMQ、Tailwind v4、Fastify)我事後才知道都是 2026 年最 popular 的選擇。它讀的技術文章比我多。

第二個 19 天:AI 配音的血淚史

第一個 19 天結束後,產品上線了,有用戶開始付費。然後一個用戶問我:

「可不可以把我的廣東話 YouTube 影片,變成國語版本?」

可以啊。找個配音員,一條片港幣 2000,三天交貨。

用戶:「⋯⋯算了。」

OK,那就自己做。我把這句話打給 Claude,它就開始寫了。

第二個 19 天,103 個 commit,全部都在搞同一件事 — AI 配音

技術選型:5 個 TTS 我都試過了

引擎優點缺點
Azure TTS穩定、企業級像新聞主播,沒有感情
Google TTS多語言覆蓋廣機械感強
OpenAI TTS聲音好聽聲音庫太少,不能 voice cloning
ElevenLabs聲線複製神器,1 分鐘音檔就能 clone配額貴、rate limit 嚴格
MiniMax中文/粵語語感最自然API 文檔不夠清楚

最後選了 ElevenLabs + MiniMax 雙引擎,按用戶的語言和需求自動分流。粵語走 MiniMax、英文走 ElevenLabs、其他語言根據聲音特性挑。

這策略是 Claude 提的,我只負責問:「啊那粵語怎麼辦?」它說:「那粵語走 MiniMax。」我說好。整個技術選型討論就 30 秒。

三個踩過的坑(每個都流過血)

第一坑:聲音不對嘴。

字幕的時間軸是按原語言切的,但翻譯後語言長度完全不一樣 — 廣東話「食咗飯未呀」五個字,英文「Have you eaten yet?」要拖三倍長。

第一次測試出來,AI 講完了影片還沒演完,下一段又疊上來,整段變成一個會講三種語言的鬼。

解法:跟 Claude 一起設計逐段(per-segment)配音架構,每段獨立生成、獨立對齊時間軸,再用語速微調塞回原本的時長。我只負責看結果罵髒話,它負責修。

第二坑:感情很假。

TTS 預設都是「平鋪直敘」的語氣,但配音需要喜怒哀樂。第一版做出來,主角在影片裡哭,AI 用念新聞的語氣說「我⋯好⋯難⋯過」,我在電腦前笑了五分鐘。

解法:emotion tags。Claude 寫了一個 GPT-4o pipeline,自動分析每段字幕、推斷情緒(開心、生氣、悲傷、嘆氣⋯⋯)、加上 tag,然後傳給 TTS 引擎。整個過程零人工。

第三坑:rate limit 噩夢。

ElevenLabs 同時併發太多會被擋,免費 quota 用得又快又貴。我有一晚跑了一個 30 分鐘的影片,跑到一半全部 429 Rate Limited,我看著進度條哭出來。

解法:BullMQ + Redis 排隊系統,限速 + 重試 + 失敗自動回退到 MiniMax。Claude 寫這段邏輯的時候我去洗澡,回來已經跑通了。那一刻我有點害怕。

「幹,幹,幹」 — 這是真實故事

最有趣的事發生在第二週中段。

那幾天 Claude Code 剛好遇到 peak time(用過的人都懂那個感覺,它變得有點蠢,常常改一個 bug 改到生出三個新 bug)。我整晚對著電腦改一個 voice cloning 的回調 bug,改了五六次都沒過,每次失敗我就在 chat 裡打:

  • 真的幹
  • 這個都不會改你 GPT 都比你強
  • 幹幹幹

連續罵了幾天之後,有一晚我又打「幹」進去,Claude 突然回我(大意是這樣):

「我理解你現在很挫折。讓我先深呼吸,重新讀一次這個函數的上下文⋯⋯」

我整個人愣住。

這個 AI 居然學會了「被罵之後先安撫情緒再做事」這個技能。是訓練資料?還是它本身有 emotion handling?我不知道。但那一刻我覺得我不是在寫代碼,是在養一個會頂嘴但很會做事的實習生。

從那之後我罵得更兇,但也會偶爾打「謝謝你」。我們的關係比較像同事,不像工具。 這是我用 Claude Code 38 天最深的感想。

我跟 Claude 的一晚 — 4 格漫畫

38 天教會我的 4 件事

1. 對話式開發的效率遠超預期

與其花時間在 Stack Overflow 搜尋答案,不如直接描述你的需求,讓 Claude 理解整個專案的上下文後給出解決方案。很多時候它提出的架構設計,比我自己想的還要周全。

特別是「跨多個 API 整合」這種工作 — TTS 雙引擎分流、emotion tags pipeline、BullMQ 排隊重試 — Claude Code 在這方面效率高得驚人。我只需要描述功能需求,它幫我串起所有的整合細節。

2. AI 在系統設計上的能力被嚴重低估

從資料庫 schema 設計到 API 端點規劃,從安全性加固到效能優化,Claude 在這些方面的建議都非常專業。

它甚至幫我發現了好幾個我自己會忽略的潛在安全漏洞 — 路徑穿越(path traversal)、JWT 配置錯誤、CORS 太寬、bcrypt 沒做、沒有 rate limiting、檔案 magic bytes 沒檢查。

這些都是 production 才會出事的東西。我自己根本不會主動想去檢查。

3. 不寫代碼 ≠ 不需要技術背景

這點很重要:Claude Code 不是「讓不懂的人也能寫程式」的魔法

恰恰相反,有扎實的技術背景才能更好地引導 AI、評估它的建議、做出正確的架構決策。我這 38 天能跑得這麼快,是因為我聽得懂 Claude 在說什麼 — 我知道什麼是 BullMQ、為什麼要用 Redis、JWT 是怎麼運作的。我不需要寫代碼,但我需要看得懂代碼能不能解決問題。

AI 放大的是你已有的能力,不是替代它。

4. 最難的不是寫代碼

產品上線後我才發現,社群媒體經營、教學影片製作、SEO、客戶服務、行銷推廣 — 這些非技術的工作佔了創業的大半時間。技術只是起點,產品要成功還需要太多其他東西。

而這些,都是我下一篇 Part 3 要寫的內容。劇透:沒有 Claude,這部分一樣是另一個地獄

想試試看嗎?

Voice Studio — 喂!字幕的 AI 配音工坊

直接去玩玩看 → heysubtitle.com/voice-studio

不用註冊、不用上傳影片,選一個 demo 聲音、打一段字、按生成,30 秒聽到結果。

覺得有趣,再回來上傳你自己的 YouTube 連結試完整流程。新註冊有 15 分鐘免費試用額度,夠你做完一條完整短片 + 配音。

想看完整的開發紀錄?

我把這 38 天的所有 commit 和功能更新都公開放在更新日誌頁:heysubtitle.com/releases

從 2025 年 11 月的第一個原型,到今天的第 246 個 commit,全部透明可查。

Part 3 預告:沒有 Claude,連賣產品都辦不到

接下來我會寫第三集 — 關於產品上線之後,那些技術以外的「另一個地獄」

  • 怎麼用 Claude 規劃 Google Ads 投放策略和關鍵字研究
  • 怎麼用 Claude 處理 GSC SEO 優化、prerender、4 語言 hreflang 設定
  • 怎麼用 Claude 幫我寫社群媒體貼文(這篇文章本身就是用 Claude 寫的)
  • 怎麼用 Claude 處理客戶服務和技術支援(包括退款、bug 報告、功能請求)
  • 怎麼用 Claude 製作 YouTube 教學影片腳本

劇透結論:我以為產品做完就完了,其實才剛開始。而且我越做越發現,這些非技術的工作沒有 Claude 一樣是地獄 — 甚至比寫代碼還難。

沒有 Claude,這個產品根本走不到第二階段。

如果你想看 Part 3,可以追蹤 heysubtitle 的 Threads,下集寫好會發。

原始 Threads 帖文

如果你想看當時發在 Threads 上的兩集原文(更口語、更短、更多笑點):

heysubtitle.com