打造家庭娛樂記帳 APP — Vibe Coding 從零到上線的實踐心得

更新 發佈閱讀 9 分鐘
vocus|新世代的創作平台

一、緣起

為什麼想做這個 App

我們家對「娛樂費」有一套自己的規則。

除了每月預算,還有獎勵(例如有運動就+300元😃),原本使用共用記事本軟體條列式記帳,每月人工結算,覺得步驟有些繁瑣,而市面上的記帳 APP 功能較複雜,也不符合我們自訂規則,我只是想要單純看我們有多少娛樂費用還沒花!

剛好今年在實作 Vibe Coding,這種規則明確規模又小的案子很適合當起步的專案,沒想到我和 Claude Code 搗鼓不到一天 APP 就做出來啦!

🎉先來張成果照!

功能:月份導覽、預算摘要、費用記錄、運動記錄、超支警示、跨年到期提醒

功能:月份導覽、預算摘要、費用記錄、運動記錄、超支警示、跨年到期提醒

二、規格驅動開發:先想清楚再動手

什麼是規格驅動開發(SDD)?

先把「要做什麼」寫清楚,確認沒問題,再開始動手。 就像蓋房子先畫藍圖,不是拿起鐵鎚就開始敲。AI 因為有上下文窗口限制,以及分段作業,可能做了後面忘了前面,先把需求與規格寫好,就像路線圖,讓 AI 每個步驟都照著計劃走。

我的工作流程(OpenSpec 工具)

OpenSpec 就像是給 AI 用、關於 SDD 的 SOP,安裝後,要求 AI 開啟 OpenSpec 專案,它就會"盡量"依照 OpenSpec 規定的文件流程進行。

AI 執行 OpenSpec 的流程 (重複迭代、逐步加入新功能)

  1. 提案:這個功能要解決什麼問題?不做什麼?(可以重複討論確認設計方向)
  2. 設計:依據提案劃定本次變更邊界(Goals & Non-goals)、重要決策與風險
  3. 規格:依照設計文件,用情境(Scenario)描述系統行為
  4. 任務:按規格寫展開具體的工作任務,讓AI照著做不跑偏
  5. 實作與驗證:AI開始實作,做完自己檢查,再來人工檢查
  6. 歸檔:記錄這次的設計決策,寫入這個APP的規格書中

具體安裝與使用方式,我是參考這份教學:OpenSpec 讓 SDD 變簡單的三個指令

除了使用OpenSpec管理新增與變更,我這次另外用兩個文件管理整個開發過程,這兩份文件是由人類和 AI 共同維護。

  • execution-plan.md
    這其實是最一開始的文件,先跟AI聊專案需求、可行性,請它寫計劃書,到了實作階段這份文件就變成進度追蹤清單,哪步驟由誰負責(人或AI)、每完成一個任務就打勾。對新手來說,進度清單和設計文件分開更清楚,不容易混淆。
  • ToDoList.md
    把途中的想法、靈感、疑問先寫下來,等AI做到一段落,再跟它討論,值得併入規格的就開啟新的一輪 OpenSpec 專案。

為什麼值得這樣做

  • 早點發現設計漏洞,比程式碼寫了一半再改便宜 (再次提醒,每次變更完一個功能,記得Git commit 備份)。
  • 讓 AI 有共同的設計基礎,每次重新啟動時可以讓AI先讀文件,不用從頭解釋。
  • 每個環節與 AI 討論的過程中,強迫自己說清楚「不做什麼」,避免範圍無限擴張。

三、邊做邊學:跟 AI 說「我是新手」

新手怎麼跟 AI 協作

專案一開始,我明確說:「我是沒有網頁APP開發經驗,請做每個技術決定時詳細說明並提出優缺點比較」、「我想要紀錄這次開發中,可以遷移到其他專案的經驗或步驟,請幫我記錄」。這些要求,請 AI 寫到系統提示詞(Claude.md)中。

此專案中,Claude.md 中的協作原則:
- 先討論再動手:前端架構、後端選型、任何新模組或檔案,都需先與使用者討論並取得同意後才實作
- Git 提交時機:功能更新且驗證 OK 後,進行 `git commit`(需使用者確認)
- 開發經驗記錄:遇到可遷移至其他專案的軟體開發經驗,記錄至 `dev_exp.md`
- 使用者為網頁 APP 開發新手,說明技術選型時需解釋前後端概念與取捨理由

人類和AI共同寫學習記錄:dev_exp.md

這份文件記錄三種內容:我問AI學到的概念、值得遷移的決定或步驟、採過的坑

我會把 AI 協作經驗沉澱成可重複使用的流程。很多經驗只有在實作中才會學到,也會發展出自己適合的工作流程,雖然是野路子(不是專業工程師),但這也是我花時間磨出來的,如果幾個月後要開啟新專案,流程又要從頭想,就太不值得了。

例如,ToDoList.md 管理我途中冒出的問題與靈感,等AI工作到一段落時再讀取此文件跟我討論,這個與AI的協作文件,就是我上個專案中帶過來的方法。

另外一個例子是我這次專案中的經驗,我發現開發完、APP 做出來之後,動作就停在這了,其實有很多收尾工作要做。我與AI討論寫了一個Check List,下次專案做完,記得要根據這個SOP收尾,有始有終。

vocus|新世代的創作平台

四、程式架構長什麼樣

來聊聊這個 APP 的架構:

技術選型

在開始這個專案前,我大概知道一個軟體會包含前端、後端、資料庫、部署平台等部分,但工具很多,不知道怎麼選,所以要求 AI 逐一跟我討論。比較特別的是,我卡在「後端」選擇,我問 AI 後端是用 Python 嗎?才發現原來可以不需要單獨寫後端!這時才知道 BaaS(後端即服務 Backend as a Service)的概念,一般的網頁 App 需要「前端 + 後端伺服器 + 資料庫」三層。BaaS 是把後端和資料庫外包給現成的服務(如 Supabase、Firebase),登入驗證、資料庫 API、權限控制都由平台提供,自己只需要寫前端。

vocus|新世代的創作平台

資料庫設計

如果有些資料庫、excel資料抓取概念,可以和 AI 討論並檢查AI設計的合理性。這次協作中,我有發現 AI 設計不符合我的需求,提前阻止,避免之後再回來修改浪費時間。這個經驗讓我很有成就感,我之前花時間學的SQL基礎沒有白費。

資料庫中有五張表:

  • expenses:費用記錄(日期、分類、金額、記錄者)
  • exercises:運動記錄(含加碼金額快照)
  • categories:費用分類(美食、電影、展覽、遊戲)
  • app_settings:全域設定(月預算、加碼金額)
  • yearly_balance_cache:年度結餘快取(加速計算)

UI 設計

我對設計很沒有想法,但又覺得直接讓 AI 寫出來的外觀很醜,所以每次都是先跟AI討論外觀,但結果不一定每次都滿意,這是我之後有新專案要持續優化的部分,或許之後可以找到風格我喜歡的設計 Skill。

在這次專案中,AI 給了幾個市面上的記帳APP給我參考,討論出以下設計原則:

  • 行動裝置優先,參考台灣記帳 App「記帳城市」的圓角卡片風格。
  • 品牌色:強調色朱赭 #d94f2a,搭配暖米白#f7f3f0背景。
  • 多使用 emoji:這是家人喜歡的風格,特別加入的要求!
  • 請AI跟我討論 Logo 設計提示詞,然後分別貼給 Gemini 和 ChatGPT,擇優使用。

驚喜:真的變成手機APP!

我一開始預設目標就是網頁 APP,所以我想像中的使用方式是:開啟瀏覽器→輸入網址(或加入書籤) → 進入 APP 記帳。讓我驚喜的是,手機的 Google 瀏覽器,竟然有把網頁 APP 變成手機中 APP 的功能!有興趣的人可以去搜尋:PWA (Progressive Web Apps,漸進式網路應用程式)。

vocus|新世代的創作平台

五、結語:你不需要先學完才開始

你不需要先學完才開始。

用 AI 做工具這件事,現在的確變得很可行。我沒有網頁開發的背景,但最終做出了一個有 Google 登入、資料庫、跨裝置同步的 App,部署在正式網址上。我是邊做邊學,要求 Claude 解釋「為什麼這樣設計」、「有什麼取捨」,每個概念都是在需要的時候才了解的,帶著真正存在的需求去學,比看完教學課程,再動手快很多。只有真正去做,才知道自己需要學什麼

最重要的習慣

  • 先討論設計,再動手實作。AI 在執行層面的效率很高,但它無法替你想清楚「你到底要什麼」
  • AI也會算錯(這次就有遇到),重要的邏輯,要自己驗算。特別是牽涉到自訂規則的複雜計算,一定要自己舉例走一遍。
  • 記錄學習過程,寫給未來的自己。做完一個專案,帶走的不只是這個 App,而是下次可以用的 checklist。這才是讓每次嘗試有意義的方式。

Vibe Coding,重點已經不是提示詞怎麼寫,而是怎麼管理整個工作流。利用文件結構,讓 AI 按照計劃把整個流程跑完,把步驟遷移到下一個專案。

AI 讓「做一個只給自己用的小工具」這件事變得真的可行。不需要先學完才開始,只要有不怕折騰的耐心。放心,電腦不會被你用壞,壞了問 AI 就好(好啦,也有可能不小心整個專案被 AI 刪掉,再次強調版本控制與備份很重要)。

後記:家人看到成果後說:「你好厲害喔!」,下一秒:「那你可以寫記錄追蹤水電費的APP嗎?」🤣🤣


留言
avatar-img
快半拍成長日誌
50會員
121內容數
快半拍是小小的進步,每天前進一點點, 從書籍、工作與生活觀察中,慢慢建立自己的理解,以及與世界相處的方法。
快半拍成長日誌的其他內容
2026/04/03
當記錄越來越多,復盤反而變成一種負擔。我透過用 AI 讀取 Obsidian 日記,從關鍵字與週記中整理出重點,再透過 12 題引導對話,一步步走回自己的經歷,完成季覆盤。過程不只更快,更重要的是看見自己忽略的重複模式與真正的卡點。
Thumbnail
2026/04/03
當記錄越來越多,復盤反而變成一種負擔。我透過用 AI 讀取 Obsidian 日記,從關鍵字與週記中整理出重點,再透過 12 題引導對話,一步步走回自己的經歷,完成季覆盤。過程不只更快,更重要的是看見自己忽略的重複模式與真正的卡點。
Thumbnail
2026/03/28
筆記只有自己看,有點可惜。 如果你有一堆 Obsidian 筆記,卻不知道怎麼讓它變成一個公開的網站——這篇就是為你寫的。 沒有工程背景,靠 AI 工具引導,2–3 小時可以走完整套流程。文章記錄了真實踩坑的過程,以及最重要的一個心態轉變:AI 降低的不只是技術門檻,而是試錯的心理成本。
Thumbnail
2026/03/28
筆記只有自己看,有點可惜。 如果你有一堆 Obsidian 筆記,卻不知道怎麼讓它變成一個公開的網站——這篇就是為你寫的。 沒有工程背景,靠 AI 工具引導,2–3 小時可以走完整套流程。文章記錄了真實踩坑的過程,以及最重要的一個心態轉變:AI 降低的不只是技術門檻,而是試錯的心理成本。
Thumbnail
2025/11/23
在 Google 的五天 AI Agent 課程中,我從完全不懂AI代理到實際做出一個小Agent。我相信,Agent 才是未來 AI 能真正投入工作流的核心。 本文整理我在短時間內學習的技巧──允許自己不懂、避開「看懂但不會做」的陷阱,以及如何在資訊爆炸時保持前進。希望能對你有幫助!
Thumbnail
2025/11/23
在 Google 的五天 AI Agent 課程中,我從完全不懂AI代理到實際做出一個小Agent。我相信,Agent 才是未來 AI 能真正投入工作流的核心。 本文整理我在短時間內學習的技巧──允許自己不懂、避開「看懂但不會做」的陷阱,以及如何在資訊爆炸時保持前進。希望能對你有幫助!
Thumbnail
看更多
你可能也想看
Thumbnail
這年頭 AI 閱讀理解能力成長飛快,即使讀遊戲程式碼,也能生成細緻的圖片解說遊戲機制......但玩家看完還想玩嗎?
Thumbnail
這年頭 AI 閱讀理解能力成長飛快,即使讀遊戲程式碼,也能生成細緻的圖片解說遊戲機制......但玩家看完還想玩嗎?
Thumbnail
探討數位時代使用者如何在便利的服務、遊戲中,不知不覺中交出個人主權與隱私。透過 AI 工具(LiteLLM)和手機遊戲(Pokémon GO )的真實案例,揭示了便利性如何掩蓋風險。文章強調「知情才算同意,同意才算選擇」,呼籲使用者重新審視權限與資料使用條款,避免落入「預設值」的陷阱。
Thumbnail
探討數位時代使用者如何在便利的服務、遊戲中,不知不覺中交出個人主權與隱私。透過 AI 工具(LiteLLM)和手機遊戲(Pokémon GO )的真實案例,揭示了便利性如何掩蓋風險。文章強調「知情才算同意,同意才算選擇」,呼籲使用者重新審視權限與資料使用條款,避免落入「預設值」的陷阱。
Thumbnail
當時間變少之後,看戲反而變得更加重要——這是在成為母親之後,我第一次誠實地面對這一件事:我沒有那麼多的晚上,可以任性地留給自己了。看戲不再只是「今天有沒有空」,而是牽動整個週末的結構,誰應該照顧孩子,我該在什麼時間回到家,隔天還有沒有精神帶小孩⋯⋯於是,我不得不學會一件以前並不擅長的事:挑選。
Thumbnail
當時間變少之後,看戲反而變得更加重要——這是在成為母親之後,我第一次誠實地面對這一件事:我沒有那麼多的晚上,可以任性地留給自己了。看戲不再只是「今天有沒有空」,而是牽動整個週末的結構,誰應該照顧孩子,我該在什麼時間回到家,隔天還有沒有精神帶小孩⋯⋯於是,我不得不學會一件以前並不擅長的事:挑選。
Thumbnail
當代名導基里爾.賽勒布倫尼科夫身兼電影、劇場與歌劇導演,其作品流動著強烈的反叛與詩意。在俄烏戰爭爆發後,他持續以創作回應專制體制的壓迫。《傳奇:帕拉贊諾夫的十段殘篇》致敬蘇聯電影大師帕拉贊諾夫。本文作者透過媒介本質的分析,解構賽勒布倫尼科夫如何利用影劇雙棲的特質,在荒謬世道中尋找藝術的「生存之道」。
Thumbnail
當代名導基里爾.賽勒布倫尼科夫身兼電影、劇場與歌劇導演,其作品流動著強烈的反叛與詩意。在俄烏戰爭爆發後,他持續以創作回應專制體制的壓迫。《傳奇:帕拉贊諾夫的十段殘篇》致敬蘇聯電影大師帕拉贊諾夫。本文作者透過媒介本質的分析,解構賽勒布倫尼科夫如何利用影劇雙棲的特質,在荒謬世道中尋找藝術的「生存之道」。
Thumbnail
5 月,方格創作島正式開島。這是一趟 28 天的創作旅程。活動期間,每週都會有新的任務地圖與陪跑計畫,從最簡單的帳號使用、沙龍建立,到帶著你從一句話、一張照片開始,一步一步找到屬於自己的創作節奏。不需要長篇大論,不需要完美的文筆,只需要帶上你今天的日常,就可以出發。征服創作島,抱回靈感與大獎!
Thumbnail
5 月,方格創作島正式開島。這是一趟 28 天的創作旅程。活動期間,每週都會有新的任務地圖與陪跑計畫,從最簡單的帳號使用、沙龍建立,到帶著你從一句話、一張照片開始,一步一步找到屬於自己的創作節奏。不需要長篇大論,不需要完美的文筆,只需要帶上你今天的日常,就可以出發。征服創作島,抱回靈感與大獎!
Thumbnail
即使沒有程式基礎,也能免費生成網頁。詳細介紹了操作步驟,包括利用Canvas 模式快速生成、調整局部細節,以及 如何在 Google AI Studio 中創建網頁。此外,文中強調了 API 金鑰的安全使用、免費額度限制,並提供了將生成的網頁部署到 Cloudflare Pages 的建議。
Thumbnail
即使沒有程式基礎,也能免費生成網頁。詳細介紹了操作步驟,包括利用Canvas 模式快速生成、調整局部細節,以及 如何在 Google AI Studio 中創建網頁。此外,文中強調了 API 金鑰的安全使用、免費額度限制,並提供了將生成的網頁部署到 Cloudflare Pages 的建議。
Thumbnail
詳細記錄了我如何透過 LLM從零開始只修改「文案和下Prompt」的方式,逐步開發一個名為 「DahTahDoc」的文件協作平臺,以解決公司在規格書撰寫與管理上遇到的種種痛點。文章涵蓋了從產品的起源、核心需求、LLM 的使用方式,並簡單探討這模式對未來職涯發展的影響。
Thumbnail
詳細記錄了我如何透過 LLM從零開始只修改「文案和下Prompt」的方式,逐步開發一個名為 「DahTahDoc」的文件協作平臺,以解決公司在規格書撰寫與管理上遇到的種種痛點。文章涵蓋了從產品的起源、核心需求、LLM 的使用方式,並簡單探討這模式對未來職涯發展的影響。
Thumbnail
本文分享利用AI進行Vibe Coding開發產品的經驗,透過自然語言描述需求,讓AI生成前後端程式碼,並快速迭代、測試和調整,以最短時間完成MVP並驗證市場。文章探討此方法的優缺點,並說明為何優先考量速度和市場反饋,而非程式碼優化。
Thumbnail
本文分享利用AI進行Vibe Coding開發產品的經驗,透過自然語言描述需求,讓AI生成前後端程式碼,並快速迭代、測試和調整,以最短時間完成MVP並驗證市場。文章探討此方法的優缺點,並說明為何優先考量速度和市場反饋,而非程式碼優化。
Thumbnail
在臺灣百大上市櫃公司工作的作者,因部門主管經營失敗及AI時代的衝擊,決心透過開發手機App創業,擺脫不理想的工作環境。此篇文章記錄作者的30天創業挑戰,目標為『開除老闆』,實現經濟和時間自由。
Thumbnail
在臺灣百大上市櫃公司工作的作者,因部門主管經營失敗及AI時代的衝擊,決心透過開發手機App創業,擺脫不理想的工作環境。此篇文章記錄作者的30天創業挑戰,目標為『開除老闆』,實現經濟和時間自由。
Thumbnail
見諸參與鄧伯宸口述,鄧湘庭於〈那個大霧的時代〉記述父親回憶,鄧伯宸因故遭受牽連,而案件核心的三人,在鄧伯宸記憶裡:「成立了成大共產黨,他們製作了五星徽章,印刷共產黨宣言——刻鋼板的——他們收集中共空飄的傳單,以及中國共產黨中央委員會有關文化大革命決議文的英文打字稿,另外還有手槍子彈十發。」
Thumbnail
見諸參與鄧伯宸口述,鄧湘庭於〈那個大霧的時代〉記述父親回憶,鄧伯宸因故遭受牽連,而案件核心的三人,在鄧伯宸記憶裡:「成立了成大共產黨,他們製作了五星徽章,印刷共產黨宣言——刻鋼板的——他們收集中共空飄的傳單,以及中國共產黨中央委員會有關文化大革命決議文的英文打字稿,另外還有手槍子彈十發。」
Thumbnail
MGX 是一個多智能代理 AI 平臺,讓使用者能透過自然語言建立網站、部落格、遊戲等,無需編寫程式碼。它基於開源項目 MetaGPT,模擬軟體公司內不同角色的協同工作流程。MGX 提供兩種模式:工程師模式和團隊模式(模擬完整開發流程)。其特色包括接近人類可理解的專案流程、高度的可擴展性和靈活性。
Thumbnail
MGX 是一個多智能代理 AI 平臺,讓使用者能透過自然語言建立網站、部落格、遊戲等,無需編寫程式碼。它基於開源項目 MetaGPT,模擬軟體公司內不同角色的協同工作流程。MGX 提供兩種模式:工程師模式和團隊模式(模擬完整開發流程)。其特色包括接近人類可理解的專案流程、高度的可擴展性和靈活性。
Thumbnail
一位工程師如何克服內心恐懼,運用AI工具快速開發健身APP,並從自身需求及同事經驗中,找到產品的市場定位與價值。文章分享了多個APP開發構想,以及最終選擇開發健身APP的原因,並突顯產品特色:結合運動紀錄、熱量控制與社群互動等功能,希望能幫助使用者更有效率地達成健身目標。
Thumbnail
一位工程師如何克服內心恐懼,運用AI工具快速開發健身APP,並從自身需求及同事經驗中,找到產品的市場定位與價值。文章分享了多個APP開發構想,以及最終選擇開發健身APP的原因,並突顯產品特色:結合運動紀錄、熱量控制與社群互動等功能,希望能幫助使用者更有效率地達成健身目標。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News