前言
身為一個對星座有興趣的開發者,有時候也喜歡聽聽唐老師的星盤解度,就會想,如果能夠有一集的內容完全是針對我的星盤來解析的,該有多好。隨著生成式 AI 的爆發,我總是會想:如果能將精確的占星演算法與大語言模型(LLM)的深度分析能力結合,不就是最適合的一個星盤解析工具?不會只是固定的一宮怎麼樣二宮怎麼樣,而是能結合你的哪顆星在一宮、哪顆星在哪個星座,所以對你產生了怎麼樣的成果,這樣一個量身定做的解析報告。
於是,我給了自己一個挑戰:用兩天的週末時間,利用 AI 和 Cursor/Antigravity 獨立開發並上線一個完整的線上星盤 SaaS 系統——Aistrology。
在這兩天裡,我幾乎把敏捷開發與現代無伺服器(Serverless)架構的優勢發揮到了極限。但我必須說,過程絕對沒有你想像的困難,這是我自從開始引入AI開發之後不斷讚嘆的事!從技術框架的選擇、精確的星曆表計算、AI Prompt 如何下、到金流與自動化的串接,這篇文章將毫無保留地分享我如何一步步在 48 小時內將這個想法落地。不論你是想尋找下一個 Side Project 的靈感,還是想了解如何快速驗證 SaaS 想法,希望這份 10 步驟實戰指南能對你有所啟發!
步驟一:定義 MVP 產品核心與功能目標
在動手寫程式之前,我花了第一個小時和 ChatGPT 討論,並且明確定義產品的 MVP(最小可行性產品)核心功能。思考目前市面上的痛點可能是:傳統占星網站給的資訊有限,並且是用資料庫形式也就是如果都是1宮有木星,就自行閱覽同樣的說法內容,而 直接使用AI 詢問 ChatGPT,當然也是大家現在越來越懂使用的工具,但其實他無法幫你計算星盤,因為他並沒有內建星曆數據的計算功能,所以除非(這是個小撇步XD,直接告訴大家了)你直接將一般占星網站的星盤貼過去給他,他也是可以幫你分析。但至於分析的角度、面向,就要看你多會問了。但我想要的是,一個直接知道要提供你所有你可能想要知道的分析內容有哪些的報告,大家都很懶,懶得自己複製貼上、懶得自己想要問什麼,直接告訴我不是最好嗎!
因此,Aistrology 的核心定位非常明確:「能夠精確產生生日的星盤,並且結合 AI 深度解析星盤與流年,自動產生分析報告。」 由於我同時有想要把這個專案發展成小型Saas的可能行,因此必須規劃付費流程。商業模式採用「免費生成基本星盤,付費解鎖萬字 AI 深度分析與流年報告」的 Freemium 模式,確保能快速積累用戶,同時驗證市場的付費意願。
步驟二:技術框架選擇——極速開發的黃金組合
定義好你要做的產品功能後,最重要的就是選擇開發框架,包括程式開發語言(前端、後端)、資料庫、部署平台、程式語言框架、甚至是你的css UI框架。
使用框架的好處是,幫你省下許多時間,他們都是已經花了大量時間開發出開發者在使用時會同時需要的程式內容,但有些會有相容、或慣用的問題。
因此,最好的方式就是詢問ChatGPT或是Gemini ,告訴他你想要開發的產品功能之後。提出例如
請提供這個專案建議的技術框架選項,我希望優先考慮 簡潔/省成本/省時(可自行替換),並且幫我分析優缺點
對我來說已經大概知道自己的目的,要在兩天之內搞定前端、後端、資料庫、AI 串接和金流,技術框架的選擇盡量簡單、省事,所以我可以很快的選擇了以下我近期開發專案很喜歡的黃金組合:
前端框架:Next.js 14 。Next.js 的 React Server Components (RSC) 非常適合用來做 SEO 優化,而 API Routes 則能讓我們直接在同一個專案裡寫後端 API,省去維護獨立後端伺服器的麻煩。
樣式與 UI:Tailwind CSS 搭配 Shadcn/ui。這能讓我用極快的速度搭建出具備現代感。
後端與資料庫:Supabase。Supabase 提供了強大的 PostgreSQL 資料庫、雲端部署好的註冊即用優勢、和 Vercel 可以很友善的整合,可以讓我們省去了大半後端安全機制的開發時間。
步驟三:資料庫架構設計與 Supabase 整合
資料庫設計原則在MVP上一向都是簡潔且具備擴充性就沒錯。在 Supabase 中,我設計了四張核心資料表:users(使用者基本資料)、birth_profiles(儲存使用者的出生時間與出生地經緯度)、reports(儲存生成的星盤數據與 AI 報告內容)、以及 orders(訂單與付款狀態)。
這個部分如果在正式開發之前
步驟四:精確星盤計算引擎與星曆表整合
這是整個專案最具技術挑戰的一步。AI 不能憑空捏造星盤,我們必須傳入精確的天體坐標。傳統的 Swiss Ephemeris(瑞士星曆表)雖然精準,但在 Node.js 環境下編譯 C 語言動態連結庫容易遇到環境相容性問題,會嚴重拖慢部署進度。
為了在時限內達成目標,我採用了純 JavaScript 實現的高精度天體力學庫(如 astronomy-engine 搭配部分天文演算法)。輸入使用者的出生年、月、日、時、分以及出生地的經緯度與時區後,系統會自動將時間轉換為儒略日(Julian Date),並精確計算出太陽、月亮、水星、金星等十大行星落在黃道十二宮的精確度數,以及宮位起點(Ascendant、MC 等)。這些精確的度數與宮位數據,是後續生成精美星盤圖與餵給 AI 分析的絕對基石。
步驟五:打造驚豔的第一眼視覺 UI/UX
占星產品的「神秘感」與「專業感」非常依賴視覺設計。為了給使用者帶來哇一聲(WOW)的驚豔感,我為 Aistrology 設計了深邃的暗黑星空主題。背景使用 CSS 漸變融合微弱的星光粒子效果,搭配半透明的玻璃擬態卡片,讓整體介面顯得既神祕又高端。
我沒有使用靜態的圖片,而是利用 SVG 搭配動態計算,手繪出一個精美的動態互動星盤。當行星度數被計算出來後,SVG 會動態繪製出黃道圓盤、十二星座的扇區分配、各個行星在星盤上的精準坐標點,以及行星之間形成的拱、刑、沖等相位角度連線。使用者滑鼠懸停在行星上時,還會觸發精緻的微光特效與行星說明,極大地提升了產品的專業度與互動體驗。
步驟六:AI 占星分析 Prompt 工程與報告生成
有了精確的天文坐標後,下一步就是發揮 AI 的強大分析能力。如果只是把經緯度丟給 AI,它很難給出有邏輯的占星報告。因此,我設計了一套高度結構化的 Prompt 工程範本。
在呼叫 LLM(如 OpenAI GPT-4o)的 API 時,我會先在後端將計算好的天體數據「預翻譯」為占星學語言,例如:{行星: "月亮", 星座: "天蠍座", 宮位: "第八宮", 相位: ["與金星呈120度", "與土星呈90度"]}。接著,Prompt 會嚴格限制 AI 的輸出結構,要求它以專業占星師的口吻,分章節(如性格本質、情感模式、職業天賦、流年運勢)輸出 Markdown 格式的萬字深度報告,並杜絕虛構天文日期的情況。透過這種「結構化數據輸入 + 角色限制」的 Prompt 設計,生成的報告品質超乎想像地好,既專業又具備極高的人文關懷溫度。
步驟七:建立流暢的付費牆與金流串接
作為一個 SaaS 系統,收費機制是必不可少的。我採用了業界最穩健的 Stripe 金流服務。Next.js 的 API Routes 與 Stripe Node SDK 的整合非常流暢。當使用者填寫完出生資訊後,系統會生成一個基本的星盤與簡短的免費分析。如果想要查看「完整萬字 AI 深度解析報告」,就需要點擊解鎖並跳轉到 Stripe Checkout 頁面。
在 Stripe 後端配置好 Webhook 後,一旦使用者付款成功,Stripe 會立刻通知我們的 Next.js 後端 API。此時,系統會自動在資料庫中將該筆報告的狀態標記為 paid,觸發後端的 AI 大模型開始進行深度計算與報告生成,並在生成完畢後透過動態介面呈現給用戶,同時提供 PDF 下載。整個付費解鎖流程設計得一氣呵成,最大程度降低了使用者的付費摩擦力。
步驟八:自動化 EDM 行銷與追蹤漏斗
開發完核心功能後,時間來到了第二天下午。我深知「好產品也需要好行銷」,因此我開始串接自動化 EDM 系統。我選擇了 Resend 搭配 React Email,這讓我可以用寫 React 組件的方式,快速設計出極具質感的電子郵件模版。
當使用者註冊或付費成功時,Resend 會自動發送一封設計精美的歡迎信或報告解鎖信。更重要的是,我設計了一個「購物車挽回(Abandoned Cart)」機制:如果使用者計算了星盤卻在付費頁面流失,系統會在 2 小時後自動發送一封關懷郵件,並附帶一個專屬的限時優惠券代碼。此外,我也串接了 Google Analytics 4 (GA4),精確追蹤使用者從輸入資料、觀看免費星盤、到點擊付費按鈕的每一個轉換步驟,為後續的漏斗優化做足準備。
步驟九:效能優化、快取與 Vercel 一鍵部署
在準備上線的最後階段,優化效能是確保使用者體驗的關鍵。由於 AI 生成萬字報告通常需要 15 到 30 秒的響應時間,直接讓使用者在前端乾等會造成極差的體驗。為此,我將 AI 報告生成改為串流(Streaming)輸出,讓報告內容像打字機一樣即時在畫面上浮現,顯著降低了使用者的感知等待時間。
另外,針對相同出生時間與地點的重複查詢,我設計了 Redis/Supabase 快取機制,避免重複消耗昂貴的 AI Token。最後,我將整個 Next.js 專案託管在 Vercel 上。透過 Vercel 的全球邊緣網路(Edge Network),靜態頁面與星盤計算 API 能在毫秒級內響應,並且每一次的程式碼 push 都能觸發自動構建與部署,讓迭代變得無比輕鬆。
步驟十:數據追蹤、敏捷迭代與增長心法
在第 48 個小時,我正式將 Aistrology 網址公佈在社群平台與 Product Hunt 上。上線並不是終點,而是學習的起點。透過第一天積累的用戶反饋,我發現許多使用者在填寫「出生時間」時會因為不確定精確到分鐘而感到焦慮。
針對這個痛點,我立刻在幾小時內敏捷迭代,加入了一個「不確定具體時間」的折衷選項,由 AI 給予更大框架的性格解讀,成功將註冊轉換率提升了 15%。獨立開發 SaaS 最大的魅力就在於此:你擁有極短的決策鏈與極快的執行力。 透過 GA4 的漏斗數據,我能清晰看到哪裡的 UI 阻礙了使用者,並在半小時內將優化後的代碼部署上線。這種小步快跑、快速驗證的反饋閉環,是獨立開發者對抗大團隊的核心武器。
結語:Indie Hacker 的實踐啟示
回顧這緊張的 48 小時,我深刻體會到:在今天這個 AI 工具與無伺服器架構無比成熟的時代,「從想法到落地」的距離已經被縮短到了極限。 兩天開發一個完整的 SaaS 並不是天方夜譚,關鍵在於:
聚焦 MVP:不做冗餘功能,只解決核心痛點。
善用現成服務:Auth 交給 Supabase,金流交給 Stripe,郵件交給 Resend,不要重複造輪子。
數據驅動:儘早上線,讓真實的用戶數據來指導你的下一個功能。
希望這篇文章能點燃你動手實作的熱情。如果你也有一個藏在筆記本深處的想法,別再猶豫了,挑選一個週末,動手把它做出來吧!也許你的下一個 SaaS 奇蹟,就在下一個 48 小時誕生。



