回到 Blog

第一個 Side Project
從挑題到上線的完整流程

90% 的人卡在「不知道做什麼」、剩下的 10% 卡在「scope 開太大、做到爛尾」。這篇拆給你看 ─ 挑題 5 準則、scope 怎麼切、4 週上線時程、跟 7 個會踩的坑。給轉職、學生、副業、indie hacker 用。

為什麼第一個 project 這麼難

原因有 3 個:

  1. 沒約束 → 想太多 ─ 沒人逼你做 X、結果什麼都想做、卡在「該做什麼」3 個月
  2. 沒參考 → 不會切 scope ─ 想做「Instagram clone」、低估了 5 倍工作量
  3. 沒社群 → 卡住就死 ─ debug 1 整晚沒結果、隔天放棄

這篇要幫你解的不是「寫 code」、是「挑對題目 + 切對 scope + 撐到完工」。


挑題的 5 個準則

01 你自己會用

這是最重要的準則、80% 的人忽略。

做你自己會用的東西、好處:

  • 有強烈動力(看到 bug 你會想修、不是覺得「算了」)
  • 知道功能該怎麼做(你自己就是用戶)
  • 做完真的有人用 ─ 至少你

做你「覺得很 cool 但自己不會用」的東西、99% 中途放棄。

02 解決 1 個具體痛點、不要 10 個

錯:「我要做一個生產力工具
對:「我要做一個自動把我每週 commits 整理成週報的小工具

越具體越好。越具體越好。越具體越好。重要說 3 次。

03 4 週能做完

超過 4 週、99% 你會放棄。

所以 ─ 不管你的想法多 cool、切到 4 週能做完的最小版本

想做「Discord bot 自動整理會議紀錄 + AI 摘要 + 多語言支援 + 匯出 Notion + Slack 整合」 ─ 砍掉 4 個、只留 1 個。

上線後再加。

04 牽涉 1-2 個你會的技術 + 1 個你想學的

純練學過的 → 沒進步、無聊。
全部都沒學過 → 卡關、放棄。
2 個會 + 1 個新 → 完美比例。

例如:你會 React + Node、想學「AI API 整合」 ─ 做個用 OpenAI / Claude API 的小工具、80% 時間用會的、20% 學新的。

05 能變成「放履歷拿得出手

這個準則決定你的 project 是「練習」還是「資產」。

能放履歷的 project:

  • 能用瀏覽器訪問(不是只有截圖)
  • 有「為什麼這樣設計」的 README
  • 讓陌生人 30 秒看懂它在做什麼

只有「跑在自己電腦上的 demo」 ─ 是練習、不是資產。


20 個適合第一個 project 的主題

如果你完全沒想法、從這 20 個挑:

① 個人記帳 Web App

輸入收支、分類、月報表。CRUD 練習王道。

② 自己的 link-in-bio 頁面

放 Resume / Project / 社群連結的個人頁。練前端 + 部署。

③ 倒數計時 dashboard

放幾個你重要的日期 ─ 生日、deadline、紀念日。練狀態管理。

④ 番茄鐘 / 專注計時工具

加上你自己想要的功能(音樂 / 紀錄 / 統計)。練時間 API。

⑤ 個人 RSS reader

抓你常看的 blog、整理成一個 feed。練爬蟲 + 排程。

⑥ 履歷生成器

填表單 → 生成漂亮 PDF 履歷。練表單 + PDF 生成。

⑦ Markdown blog(不用 framework、自己寫)

放你的學習筆記。練動態路由 + Markdown 渲染。

⑧ 待辦 + 番茄鐘整合

選一個 todo、開計時器、做完打勾。練組合多個小工具。

⑨ Habit Tracker

追蹤你想養成的習慣、看連續天數。練日期處理。

⑩ Discord / Telegram bot

定時發訊息、回應指令、整合 API。練 webhook + 排程。

⑪ AI 寫作助手(用 OpenAI / Claude API)

輸入主題、AI 給草稿。練 API 整合 + streaming。

⑫ 食譜 / 餐廳推薦

放你想吃的餐廳、可以隨機選一家。練資料庫 + 過濾。

⑬ 自動把 LeetCode 寫過的題整理成 GitHub README

抓 LeetCode 紀錄、生成總結文件。練 API + 文件生成。

⑭ GitHub stats dashboard

整理你 / 朋友的 GitHub 活動、做成漂亮圖表。練 OAuth + chart。

⑮ Currency / Exchange rate alert

追蹤匯率、超過 X 寄 email。練排程 + 通知。

⑯ Mini SaaS for niche audience

解決一個小眾的問題(攝影師找場景、譯者管理客戶)。練全 stack。

⑰ Voice-to-Markdown

錄音 → 用 Whisper API → 變成 markdown 筆記。練上傳 + AI 處理。

⑱ 自己的 URL Shortener

長 url 變短 url、紀錄點擊。練資料庫 + 統計。

⑲ Newsletter platform(給自己用)

訂閱表單 + Email 發送 + 紀錄。練 SMTP + 後台。

⑳ 你工作中真的常做的繁瑣事 → 自動化

這是最有價值的 ─ 你比任何人更懂自己工作中的痛點。


切 Scope ─ 3 步法

步驟 1:寫「完美版」

先讓自己暢想:「如果我有 1 年時間、這個 project 完整版會長什麼樣?」

列下來 ─ 不要審視自己、想什麼都列。

步驟 2:找「沒它就沒意義」的核心 1 個功能

從清單裡找出「少了這個、整個 project 就沒意義」的 1 個功能。

例:記帳 app 的核心是「輸入 + 看支出總和」。沒這個、就不是記帳。
其他(分類、報表、預算、多幣別)都是 nice-to-have。

步驟 3:上線版本只做這 1 個

第一版只做核心 1 個功能 + 1 個能讓人「看得出來這在做什麼」的 UI。

這就是你的 4 週版本。

其他功能 ─ 上線後再加、看真的有人用了再加。


4 週上線時程

Week 1

計畫 + 環境建好

  • 確定核心 1 個功能、寫出 1 句話描述
  • 選技術 stack(建議:你會的 + 1 個新的)
  • 建好 GitHub repo + README 草稿
  • 本地能跑 "Hello World"
  • 挑好部署平台(Vercel / Cloudflare / Railway)
Week 2

核心功能完成

  • 核心 1 個功能能在本地跑
  • UI 醜沒關係、能用就好
  • 每天 commit 至少 1 次
  • 不要分心做「我順便也加 X」
Week 3

部署上線 + UI 修美

  • 部署到雲端、能用 URL 訪問
  • UI 修一輪、不用很美、不要醜到嚇人
  • 寫好 README(用我那篇 README 模板)
  • 傳給 3 個朋友試、收 feedback
Week 4

修 bug + 上架 + 公開

  • 修 friends feedback 裡最 critical 的 3 個 bug
  • 寫 1 篇文章 / Threads / LinkedIn 講你做了什麼
  • 把 URL 放上履歷 + LinkedIn
  • 慶祝 ─ 你有第一個能 demo 的 project 了

7 個 90% 人會踩的

01 卡在「選什麼 framework

別研究 1 週「該用 Next.js 還是 SvelteKit」 ─ 拿你最熟的、開始寫。

第一個 project 的框架不重要、做完更重要

02 拼命加功能、上線無期

每加 1 個「我順便」、上線時間 +1 週。

給自己一句口頭禪:「先上線、再加功能」。沒上線的 project 不存在。

03 UI 一定要美才上線

UI 醜沒關係。能 demo 的醜版本 > 永遠在 design 的完美版本。

推薦 ─ 用 Tailwind UI / shadcn/ui / Mantine 等現成 component library。10 分鐘讓 UI 看起來 OK。

04 不寫 README

沒 README 的 GitHub repo = 不存在。

至少寫 ─ 「這是什麼」、「怎麼跑」、「我為什麼做」。3 段、5 分鐘的事。

05 不部署

「跑在我電腦上、demo 給人看」VS「URL 點開能用」 ─ 後者價值是前者 10 倍。

Vercel / Cloudflare Pages 部署免費、5 分鐘 setup。沒理由不部署。

06 沒寫測試 + 沒設 monitoring

第一個 project 不用 100% 覆蓋率、但至少:

  • 1 個測試(測核心功能)
  • 1 個 error tracking(Sentry 免費版)

這 2 樣會讓你的 project 從「練習」進化成「工程作品」。

07 做完了不公開

完成 ≠ 結束。沒人知道的 project = 履歷上的死字

上線後一定要:

  • 寫 1 篇短文(Threads / LinkedIn / Blog)
  • 放 URL 在 GitHub 個人首頁
  • 放上履歷 + 用 1 句話描述

公開 = 別人能看見 = 機會能找上你。


最後一個提醒

第一個 project 的目的、不是完美、是完成
完成 1 個普通的 project > 計畫 10 個偉大的 project。
做完之後、你會發現第二個比第一個快 3 倍。

這 4 週、你會發現自己變了 ─ 不是因為學了新技術、是因為「第一次把想法變成能 demo 的東西」這件事、會改變你對自己的認知。

一旦你做出來過 1 次、你就知道你能做出第 2 次。

這是工程師最大的 unfair advantage。

挑題 / 切 scope 卡住?想要有人 sanity check?

30 分鐘 1-on-1 諮詢 NT$1,500 ─ 講你的想法、我幫你切到 4 週能做完的版本、給你具體技術選擇建議。

LINE 預約諮詢 先訂閱 Newsletter