跳到主要內容

輕量 CRM — 接案者的客戶管理系統

針對自由工作者及小型團隊,建立客戶、商機、活動與銷售階段的集中管理系統。

正式營運GWP4 自有產品案例

本案例為 GWP4 自行開發的產品或研究專案,並非外部客戶委託案。列出的內容用於呈現實際技術能力與做法。

  • 流程設計
  • 權限與驗證
  • Pipeline
  • 客戶管理
  • 全端開發

背景與問題

市面上的 CRM 多半是為銷售團隊設計的:功能龐大、設定繁瑣,一人或小型工作室用不到十分之一。實務上退回試算表,又缺少案件階段、活動紀錄與提醒,案子跑到哪裡只能靠記憶。

原本的處理方式

客戶資料存在通訊錄、案件進度記在試算表、溝通紀錄留在通訊軟體,三者互不相通,要回顧一個案子得翻三個地方。

設計目標

  • 把客戶、案件、溝通紀錄放在同一個地方且互相關聯
  • 用看板呈現案件階段,一眼看出目前有多少案子在跑
  • 功能維持精簡,不重現大型 CRM 的複雜度
  • 有明確的登入與權限機制

解決方案

設計四個核心模組:客戶管理、案件 Pipeline、活動紀錄、Dashboard。案件以階段流轉(潛在 → 聯繫中 → 提案 → 議價 → 成交/失敗),每個階段帶有預設成案機率;活動紀錄可關聯到客戶或案件,形成時間軸。前後端分離,前端 Next.js App Router,後端 NestJS 提供 API 與驗證。

核心功能

  • 客戶基本資料、分類、來源標記與自訂標籤
  • 案件 Pipeline 看板(拖拉切換階段)
  • 階段預設成案機率
  • 活動紀錄(通話、Email、會議、筆記)與時間軸
  • Dashboard:成交金額、各階段案件數、客戶來源分析
  • 登入驗證與資料隔離

系統架構

Next.js(App Router)前端 → NestJS API → PostgreSQL。UI 以 shadcn/ui + Tailwind CSS 建立一致的元件語言,看板使用拖拉互動元件。

技術選擇

  • Next.js 15(App Router)
  • NestJS
  • PostgreSQL
  • TypeScript 全端
  • shadcn/ui + Tailwind CSS

開發過程與限制

  • 刻意限制功能範圍:不做行銷自動化、不做複雜報表,避免變成另一套用不完的系統
  • 案件階段的定義因人而異,資料模型需保留調整空間
  • 拖拉看板的狀態同步需處理樂觀更新與失敗回復

可驗證指標

以下皆為可查證的技術事實,不含未經驗證的成效數字。

核心模組數
4(客戶、案件、活動、Dashboard)
案件階段
5 段流程,含成交/失敗結果
架構
前後端分離(Next.js + NestJS)
上線狀態
正式營運中

可以延伸到哪些產業

  • 自由工作者與接案團隊
  • 小型設計、行銷與顧問公司
  • 需要案件階段管理的 B2B 服務業
  • 任何目前用試算表追蹤客戶與案件的團隊

想做類似的東西?

不需要先寫好規格。描述目前的流程與資料來源,我們就能評估可行做法與風險。