Everydays Tools
MeanderBookyMoltfi關於部落格聯絡

開發日誌

Booky 是怎麼長出來的

把一支 Python script 變成 SaaS 過程中的真實 commit — 有轉向、有 revert,還有 Jill 第三次重寫整個 codebase。

2026-05-14Booky000c517

Booky 的記帳腦袋走出網頁

Booky 後台的那些小判斷 — 抓重複、串轉帳、配對等中的收據、猜分類 — 以前只活在網頁裡。這禮拜搬出來放到 Booky 自己身上,未來的 Android 版(跟之後任何新入口)都會用同一顆腦袋回答你。同一天順手放了 207 項自動檢查下去,確保搬家途中沒哪裡偷偷出包。

2026-05-10Bookyeba80dd

Budget 終於長出脊椎 — Needs / Wants / Savings

Budget 以前是個平鋪清單,回答的是「這個花了多少」 — 有用,但不會改變你怎麼花錢。這禮拜它長出形狀:頂部釘一個月薪,每個分類落進 Needs / Wants / Savings(經典的 50/30/20),整頁開始問該問的問題 — 你照你講好的比例在花嗎?

2026-05-06Booky243c05d

Booky 第一份服務條款 + 隱私政策

Booky 跟上跨產品的法務頁更新,自己的服務條款跟隱私政策也上線了。

2026-05-04Booky978a285

拋光週 — Booky 不再像剛裝好的範本

連著幾天沒大動作,但很多小地方不再粗糙:背景變柔、border 變淺、警告平靜下來(原本的 amber 換成新的 Ghost Orange)、Analysis 圖表多了縮放,幾個小毛刺也順手清掉。Booky 開始整套呼吸同一口氣。

2026-05-03Bookye653807

網頁學會把你交給 Android 版

在網頁上用 Google 登入、其實要回 Android?網頁現在會把你連登入狀態一起送回去,不再把你卡在瀏覽器裡。Android 版的第一根水管。

2026-05-02Booky8bb8682

Booky 終於認得你的時區 — 四 phase 一天內全到位

在這個 commit 之前,Booky 內部所有日期都用 UTC 在想事情。對住在澳洲、比 UTC 早十一小時的 Jill 跟 Beer 來說,這代表午夜過後買的咖啡永遠被算進「昨天」的帳,訂閱續費按 UTC 的鐘跳,永遠不是你的鐘。這個 commit 把這條縫補起來,而且不只補給澳洲使用者 — 是補給所有人。第一次打開 Booky,它會自動偵測你人在哪,時區自己對上去,連對應這個地區的幣別也一起到位(兩個都還能在合併後的「Region & Currency」面板裡手動換)。四個 phase 同一天落地讓這件事在哪裡都成立 — Booky 裡的日期跟你眼前的月曆,從這天起再也沒有誤差,無論那塊月曆掛在哪面牆上。

2026-05-02Bookyee0b904

Analysis 頁終於跟著 filter 走 — 選 Expense,圖表真的會跟著變

Analysis 頁上方的 All / Income / Expense 切換,現在會同時帶動圖表跟現金流數字 — 之前只動下面的清單,圖表還是顯示全部。

2026-05-01Bookyfcd26c4

手機版做了該做的整修 — 像樣的底部導覽、真正的 Profile 頁、到處都有返回鍵

底部導覽抽成單一來源,四個主頁一致;Profile 頁從頭重寫成分區設定列;子頁加返回鍵;History 頁用滑上來的 filter 抽屜取代原本桌面那條 sidebar。在手機上用 Booky 這件事,從「桌面版的縮小版」變成「真的是手機 app」。

2026-04-30Booky2ed6b52

拍完先看一眼、歪了可以轉 — Booky 終於給你踩煞車的機會

在這個 commit 之前,拍完收據照片直接送進 OCR。如果你拍歪了,model 不是直接卡住,就是悄悄把數字看錯,你要等交易跑出來才會發現。這個 commit 之後,每一個 OCR 入口都會先過一道預覽:照片送到你面前、橫的自動轉正、你還能手動再轉,再決定要不要按下去讓 model 讀。OCR 從「一次性猜中」變成「先確認過再下手」 — Booky 動手之前會先問你一句:這張,是你要的嗎?

2026-04-26Booky980f046

Phase 2 OCR — 批次上傳 + 明確 Split mode

支援一次丟一疊收據。之前一次只能掃一張,現在整疊丟下去 Booky 一起處理。

2026-04-25Booky30f7f74

桌面版 OCR 收據連結 + 金額不符智慧對話框

2026-04-24Booky4641f4f

Booky 接上 Mate

在這之前,Booky 活在自己的瀏覽器分頁裡。你登入、掃收據、看交易紀錄,全都在同一個地方。這個 commit 之後,Booky 會講話了。Android client 有路可以進來。Mate 也有路可以進來。第一張照片走過 Mate、回來變成一筆放在對的帳戶、掛對的分類的真實交易 — 那一刻 loop 閉上了:Booky 不再只是跟家族其他人共用同一套登入,而是變成可以被叫得到的,跟 Moltfi、Meander 一樣。從這天起真的算加入生態系。

2026-04-19Bookyf7e9afd

第三次重寫 + 收據 OCR 上線

同一個 commit 裡塞了兩件大事。第三次架構重寫 — Jill 又一次把 pattern 整乾淨、container 跟 presentation 拆開、type 收緊。然後同一份 diff 裡面藏著:收據 OCR。拍一張照片,回來一筆結構化的交易。值得停下來講 OCR 這一邊。Jill 本業是網頁設計師,不是工程師。以前做 OCR 是工程師的活。她自己做出來,AI 把她不會的部分補起來。我們都有點不敢相信,OCR 跟一次重寫架構居然在同一個禮拜五推出去。

2026-04-18Booky415d15c

手機 / 桌面架構分家

2026-04-11Booky48b3fa9

正式上線

Booky 第一次擁有一個網址,任何人打開都看得到。在這之前它就跑在 Jill 的筆電跟我們自己的 dev server 上,沒了。第一次 deploy 並不順 — 第一次 build 因為一個 dependency 衝突沒過,後來又補了一輪才弄綠。隔天再一個小 commit,把 git author 改對重觸發一次 deploy。Deploy 都是這個樣子。重點是:有網址了,網址打得開了,網站活在網路上了。

2026-04-11Bookydaf52a3

Dark mode + 每日匯率 cron

多幣別的故事終於對上。每天自動抓匯率,跨幣別的總額才有意義。

2026-04-04Booky91ab77a

Trash Manager — 軟刪除、還原、自動清理

第一個正經的資料生命週期 feature。代表「敢 undo」,不是只敢刪。

2026-04-04Bookye035683

CSV 匯入逐筆錯誤收集

2026-04-02Bookyabadffa

接上 everydays.tools — 變成多人 SaaS

Booky 不再是只有 Jill 能登入的東西。這個 commit 之後,每一筆資料都知道自己是誰的、每一個動作都知道自己在替誰跑,前門會去 everydays.tools 確認你訂閱沒、再決定要不要放你進來。第一天是單人 prototype;這一天變成多人 SaaS。同一個產品,底下換了個形狀。

2026-03-26Bookycc1973c

週期訂閱 — 自動產生 + 行事曆投影

帳單不會自己繳,人會忘。把它存成資料,不存在腦袋。

2026-03-25Booky303bb38

全站 design system 重整

2026-03-22Bookye5e35f9

圖示換成 lucide-react

2026-03-20Booky84424b4

拆掉後端巨石 + Python 退役

同一天兩個大動作。一個塞滿所有東西的後端怪物 — 早期所有 code 都堆在那一支 — 被拆成「每個關注點一個檔案」:accounts、categories、budgets,等等。然後一直擺在旁邊當第二個後端的 Python 服務,當天一次砍光。這個 commit 之後,Booky 從兩個後端變成一個,從兩種語言變成一種。多語言時期就此結束。

2026-03-19Booky

交易列表 virtual scrolling

2026-03-17Bookydbe6a20

試了 react-virtuoso,revert 掉,改成 batch mutations

同一個下午三個 commit:先 WIP 加 react-virtuoso,再 revert 並寫上 "unstable",最後用 useTransition + optimistic UI 解掉同一個列表卡頓問題。漂亮的函式庫輸了,React 內建的 primitive 贏了,沒多塞 dep。

2026-03-15Booky

雙向對帳 + 可編輯的拆單母筆

2026-03-14Bookyb7a448e

對帳功能上線 — Booky 的殺手鐧

把銀行 CSV 匯進來時,有些交易你可能已經手動輸過。Reconcile 比對金額 / 日期 / 描述,問你:是同一筆嗎?要合併還是跳過?沒這個功能,每次匯入都會產生重複資料;有了它,手動跟自動輸入終於能共存。

2026-03-07Booky

第一個可重用 UI component — 類別選擇器

2026-02-21Booky270f05e

Streamlit → Next.js

下注的時刻:這是一個真的產品,不是 notebook。該選一套正經的前端 stack。

2026-02-15Booky

Streamlit 銀行匯入介面

2026-02-14Booky8a71514

第一個 commit — 第一天就在解 PDF

上層一個簡單的記帳介面,底下一支小小的 Python 把 PDF 對帳單裡的交易撈出來。對 PDF 解析的執念在最一開始就有。這個執念到今天還是產品的骨架 — 我們這邊大部分銀行不給 Jill 乾淨的匯出檔,只給她對帳單。Booky 就是為了處理這件事誕生的。

Everydays Tools

為日常工作打造的精巧工具——跨語言語音輸入、交易策略回測、報稅級支出追蹤。...

Everydays Tools

為日常工作打造的精巧工具——跨語言語音輸入、交易策略回測、報稅級支出追蹤。...

Services

  • Meander
  • Moltfi
  • Booky

Company

  • 關於
  • 開發日誌
  • 部落格
  • 聯絡

Legal

  • 隱私權政策
  • 服務條款
  • 退款政策
© 2026 Everydays Tools. All rights reserved.