尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Tameru takes your pay, bills, card balances and savings goals and turns them into one number: how much is safe to spend today without coming up short. It lives on your phone's Home Screen like any other app, but it's a web app. There's no app store, no account and no bank login, and everything you enter stays on your device.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗貯める (tameru) is Japanese for to save up.
Tameru takes your pay, bills, card balances and savings goals and turns them into one number: how much is safe to spend today without coming up short. It lives on your phone's Home Screen like any other app, but it's a web app. There's no app store, no account and no bank login, and everything you enter stays on your device.
Every time you open the app, Tameru does the subtraction for you:
TAMERU · SAFE TO SPEND
12 days to payday
--------------------------------------------
Chequing + cash 2,206.40
Pay still coming +980.00
Bills to come −893.48
Goals left this period −100.00
Still planned in categories −712.71
Buffer −100.00
--------------------------------------------
SAFE TO SPEND $1,380.21
$115.01 a day · 12 days
Pay that varies counts at its low end, and bills that vary count at their high end. Money already planned for a category, a goal or a bill comes off first, so what's left is yours to spend.
You need Node 20 or newer.
npm install
npm run dev # the app at http://localhost:5173
npm run dev:gate # same, but shows the install page like a browser tab would
npm test # unit and integration tests (Vitest)
npm run typecheck
npm run build # production build into dist/
Outside an installed PWA the app shows its install page. Add ?dev=1 to the URL to run it in a normal tab. That also unlocks the Debug screen (#/debug), where you can fake today's date, jump ahead in time, and replace everything with sample data.
src/
domain/ pure money logic: safe to spend, budgets, periods, recurrence, receipt parsing (+ tests)
services/ the app's operations on top of the domain: plan, accounts, recurring, receipts, backups
data/ IndexedDB (Dexie) repositories, the on-device OCR, sample data
ui/ Preact screens and components, styles and design tokens
pwa/ install gate, service worker updates, iOS quirks
copy/ every string the app shows
cards/ card art catalog, by institution
site/ the product site at tameru.cc (static HTML)
scripts/ tooling, e.g. cleaning up card art
tests/ integration tests against a fake IndexedDB
Preact · Vite + vite-plugin-pwa · Dexie · Tesseract.js · Vitest · Geist · Cloudflare Workers
Pushing to main deploys both projects on Cloudflare Workers:
| What | Where | From |
|---|---|---|
| The app | app.tameru.cc | the repo root (npm run build → dist/) |
| The product site | tameru.cc | site/ (static files in site/public) |
Bump the version in package.json with each release. It shows in the app under More, and an "Updated to vX" note appears on the phone after the new build swaps in.