Skip to content

tangent-labs-dev/grain

Repository files navigation

Grain

Grain is a local finance tracker PWA

Features

  • Offline/local-first data via IndexedDB (no account required).
  • Nothing-inspired monochrome matrix and glyph-like UI language.
  • Dashboard with live balance, month delta, wallet snapshot, and recent history.
  • Monthly budgets with progress bars and over-limit alerts.
  • Insights with weekly/monthly spend trends, category breakdown, and highlights.
  • Transaction CRUD with wallet selection, split support, and fast entry flow.
  • Advanced history filters: type, category, wallet, date range, min/max amount.
  • Smart search operators in history:
    • cat:food
    • wallet:main
    • type:expense
    • min:10 max:200
  • Recurring templates (weekly/monthly) with due-run processing.
  • Multi-wallet support, wallet-to-wallet transfers, and goal tracking.
  • Category management, local export/import JSON backups, and hard reset.
  • Installable PWA (manifest + service worker).

Run

npm install
npm run dev

Deploy To Cloudflare Workers

  1. Authenticate Wrangler once:
npx wrangler login
  1. Set the Worker name in wrangler.toml (name = "grain").

  2. Deploy:

npm run deploy
  1. (Optional) Preview in the Workers runtime locally:
npm run preview

Cloudflare Workers Builds (Git Integration)

If deploying via Cloudflare dashboard build pipeline (the /opt/buildhome/... logs), set:

  • Build command: npm run build:cf
  • Deploy command: npm run deploy:cf

This ensures OpenNext artifacts are generated before deploy.

About

An Open Source Local Finance Tracker PWA

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors