從自己的資產管理需求出發:Assets Tracker Side Project 開發心得

💰 從自己的資產管理需求出發:Assets Tracker 開發心得

這段時間,我終於把一個在腦袋裡放了很久、偶爾還會跳出來提醒我的 Side Project 做出來,也順手把它開源了 🚀

👉 Assets Tracker on GitHub

Assets Tracker Dashboard

簡單來說,它是一個幫你看清楚「自己到底有多少錢」的工具。

原本以為只是把幾個數字加起來,真正動手後才發現:這件事比想像中複雜很多 😵‍💫

Assets Tracker 可以把以下項目集中在同一個地方:

它會將所有資產換算成同一個幣別,並提供圖表、資產分析、FIRE 試算與現金流資訊。打開 Dashboard,就像替自己的財務狀況做一次快速健康檢查。

而且最重要的是:

**你可以 100% 免費自己架一套 !! **

使用 Vercel(前端)搭配 Neon(PostgreSQL),幾乎零成本,幾分鐘就能跑起來。無論使用電腦或手機,都可以直接開啟使用,並支援 RWD 與 PWA。

Desktop Mobile
Assets Tracker desktop dashboard demo Assets Tracker mobile dashboard

💡 一開始的問題其實很單純

我當時腦中只有一個問題:

🤔 我現在到底有多少資產?而且能不能不要每次都手動更新試算表?

因為現實通常是這樣:

整理到最後,你會發現一件事:

「加總」這件事,其實已經沒有想像中簡單。

尤其匯率一動,昨天才算好的總資產,今天看起來又換了一張臉。

接著,你就會開始一段非常熟悉的循環:

打開試算表 → 更新價格 → 修改匯率 → 過幾天忘記更新 → 下次再說

所以我想,不如在 AI 的協助下,自己做一個「只回答資產問題」的工具,讓它替我處理這些重複工作吧!


🎯 我其實不是想做記帳軟體

市面上的記帳工具很多,大致可以分成幾種:

但我真正想看的其實是:

說白一點:

💭 我不是想知道「錢花去哪裡」,而是想知道「我現在累積了多少資產」。

因此,Assets Tracker 從一開始就刻意不做:

它只專注做一件事:

🗺️ 把所有資產整理成一張「看得懂的圖」。


📊 Assets Tracker 在做什麼?

目前可以管理:

系統會進一步:

簡單來說,就是:

📈 幫你把財務人生變成一條時間線。

你看到的不只是今天的一個總額,還能回頭了解:資產從哪裡開始、經歷了什麼變化,以及現在正往哪裡走。


🔐 為什麼選擇 Self-hosted?

這是我非常在意的一點。

財務資料很特別。即使裡面沒有銀行密碼,光是帳戶餘額、投資部位與負債狀況,就足以描繪一個人的財務全貌。

🛡️ 這些資料不只要方便使用,我也想清楚知道它們「放在哪裡」。

所以,我不想把它做成一個「將所有資產資料交給某個 SaaS」的服務,而是選擇 Self-hosted:

目前有兩種部署方式:

1. ☁️ 100% 免費自架(推薦)

✨ 幾乎不用花錢,就能完整跑起來。

2. 🏠 本機 / NAS / Docker

對我來說,Self-hosted 不只是一種部署方式,也是產品本身的一部分:工具可以換、主機可以搬,但資料應該一直掌握在自己手上。


📱 電腦與手機都能使用

Assets Tracker 具備:

你可以在電腦上仔細查看資產配置,也能在手機上快速確認今天的 Dashboard。畢竟真的想看資產變化時,通常不會特地先打開電腦。


🧮 真正困難的不是 UI,而是「數字的定義」

做了這個專案後,我才發現:

🔍 財務系統最難的不是畫圖,而是定義「每個數字到底代表什麼」。

1. 💱 匯率問題

舉例來說:

於是,資產「看起來變多了」,但你明明什麼都沒有買,也沒有賣。

那這算是:

答案是:

都是,但你必須分得出來。

2. 🕰️ 歷史資料不能亂算

如果系統只保存「現在的匯率」:

回頭查看歷史資料時,數字會全部失真。

所以我最後採取的做法是:

3. 📅 時間比想像中更麻煩

財務系統最可怕的不只是 Bug,還有:

我真的遇過:

這些問題看起來只是小誤差,但放進財務系統後,都可能直接影響使用者對數字的信任。


🧭 做到後來,其實變成「產品問題」

一開始,我以為主要工作只是請 AI 協助寫程式,再由自己微調。做到後來才發現,每多一個功能,都會帶出一連串產品問題:

例如:

要不要直接串接銀行?

我的答案是:

🛑 先不要,因為風險與坑都太多。

能做,不代表現在就該做。Side Project 的時間與維護能力都有限,知道什麼時候踩煞車,反而比一直加入新功能更重要。


🤖 AI 有幫忙,但不會替你做決定

這個專案大量使用 AI 協助:

但有一件事,AI 做不到:

🧭 替你決定「產品應該長什麼樣子」。

AI 可以加快開發速度,但需求、取捨與最後的驗證,仍然要由自己負責。

它很像一位速度很快的協作者,可以陪我迅速把想法做成第一版;但方向盤,仍然要握在自己手上。


🧠 開發這個 Project 學到的四件事

1. 先決定「不做什麼」,比決定做什麼更重要

每個新點子看起來都很合理,但如果全部塞進去,產品很快就會失去原本的重點。先把邊界畫清楚,後面的技術選擇反而會簡單很多。

2. 財務產品最重要的是「可信度」

圖表再漂亮,只要有一個數字對不上,使用者就會開始懷疑其他所有結果。

備份能不能還原、匯率是否正確、跨時區會不會偏移一天——這些看似不起眼的細節,才是真正決定產品能不能長期使用的地方。

3. Self-hosted 的 UX 很重要

很多人會卡在:

結果是:

還沒開始用,就先放棄了。

所以,Docker、環境變數、Migration 與升級文件都不是附屬品。它們是使用者第一次接觸產品時,最先遇到的介面。

4. 🌍 開源會迫使你重新整理產品

開源之後:

原本只有自己知道的操作習慣,也必須轉化成別人看得懂的介面與文件。

某種程度上,開源就像把 Side Project 從自己的房間搬到公共空間:東西放在哪裡、別人能不能找到,以及是否存在自己沒想到的問題,都必須重新整理。

如果你發現 Bug 或可以優化的地方:

🙌 非常歡迎提出 Issue 或 PR!

👉 前往 Assets Tracker GitHub


🚧 目前的狀態

目前版本為:

🛠️ v1——已經可以使用,但仍在持續新增功能。

現階段的限制包括:

不過,這些限制是刻意保留的:

⚖️ 我寧願選擇簡單可靠,也不要複雜但不穩定。


🚀 結語

這個 Project 最初只源自一個念頭:

我想知道自己到底有多少錢。

結果一路做下來,它慢慢長成了:

回頭看,最有趣的其實不是功能越來越多,而是每一次取捨,都在反映自己真正重視的事情:

Side Project 最有趣的地方,不只是技術;而是你會慢慢看清楚「自己在意什麼」。

如果你也:

歡迎來玩玩看!如果你剛好也有類似的資產管理困擾,或對 Self-hosted、Docker 部署有任何建議,也很歡迎到 GitHub 留下 Issue 或 PR 🙌