Skip to content

HKJeff02/spreadforge-budget-debt-master

Repository files navigation

SpreadForge Logo

SpreadForge Budget & Debt Master

A complete personal finance PWA — budget, track debt, build wealth. All offline. All private.

Features · Live Demo · Quick Start · Self-Hosting · Architecture · Contributing · License

Deploy License: MIT PWA Ready Offline First Zero Dependencies No Build Step


Dashboard

Why SpreadForge?

Most personal finance apps want your data, your subscription, and your patience while they load. SpreadForge wants none of that.

  • Zero accounts. No sign-up, no login, no password to forget.
  • Zero servers. Your financial data never leaves your device. Ever.
  • Zero subscriptions. Download once, use forever.
  • Zero build steps. It's one HTML file. Open it in a browser. Done.

Features

10 integrated modules in a single offline-first Progressive Web App:

Module What It Does
Dashboard KPI cards for income, expenses, net flow, savings rate, debt, and net worth — with month-over-month trends and Chart.js visualizations
Budget Planner Zero-based budgeting with per-category targets, live progress bars, and variance tracking
Transactions Full CRUD with search, multi-filter (type, category, method, date range), pagination, and running totals
Debt Tracker Snowball vs. avalanche strategy comparison with payoff projections, total interest calculations, and debt-free date estimates
Sinking Funds Goal-based savings with targets, deadlines, monthly contribution calculations, and progress visualization
Bills Calendar Monthly calendar view with due dates, autopay tracking, paid/unpaid status, and category filters
Net Worth Periodic snapshots of assets and liabilities with trend charting over time
Reports Monthly summaries, income vs. expense breakdowns, and category-level analysis with CSV and JSON export
Settings Currency, budget frequency, fiscal year, category editor, theme toggle, data reset, and demo data loader
Guided Demo Tour 14-step interactive walkthrough triggered by ?demo or #demo — auto-loads sample data and walks through every module
More screenshots

Budget Planner Budget Planner

Debt Tracker — Snowball vs. Avalanche Debt Tracker

Dark Mode Dark Mode

Mobile Layout

Mobile


Demo

Live on GitHub Pages: hkjeff02.github.io/spreadforge-budget-debt-master

Auto-deployed on every push to main via GitHub Actions.

Append ?demo or #demo to the URL to launch the guided tour:

https://hkjeff02.github.io/spreadforge-budget-debt-master/spreadforge-budget-debt-master.html#demo

The tour auto-skips onboarding, loads sample data, and walks through all 10 modules with floating tooltips, typing animations, and spotlight highlights. Takes about 2 minutes.


Quick Start

# Clone the repo
git clone https://github.com/HKJeff02/spreadforge-budget-debt-master.git
cd spreadforge-budget-debt-master

# Open in your browser — that's it
open spreadforge-budget-debt-master.html    # macOS
xdg-open spreadforge-budget-debt-master.html  # Linux
start spreadforge-budget-debt-master.html   # Windows

No npm install. No pip install. No Docker. No build step. Just a browser.


Self-Hosting

SpreadForge is a static site — any web server that serves HTML files will work.

Option 1: Simple Static Server

# Python
python3 -m http.server 8000

# Node.js
npx serve . -l 8000

# Then open http://localhost:8000

Option 2: Nginx

server {
    listen 80;
    server_name finance.yourdomain.com;
    root /var/www/spreadforge;
    index spreadforge-budget-debt-master.html;

    location / {
        try_files $uri $uri/ /spreadforge-budget-debt-master.html;
    }

    # Cache static assets
    location /assets/ {
        expires 30d;
        add_header Cache-Control "public, immutable";
    }
}

Option 3: Docker

FROM nginx:alpine
COPY spreadforge-budget-debt-master.html /usr/share/nginx/html/index.html
COPY assets/ /usr/share/nginx/html/assets/
EXPOSE 80
docker build -t spreadforge .
docker run -p 8080:80 spreadforge

Option 4: GitHub Pages

  1. Fork this repo
  2. Go to Settings → Pages
  3. Set source to main branch, root directory
  4. Your app is live at https://yourusername.github.io/spreadforge-budget-debt-master/

Option 5: Netlify / Vercel / Cloudflare Pages

Drag and drop the repo folder. No configuration needed.

PWA Installation

Once served over HTTPS (or localhost), the app can be installed as a standalone PWA:

  • Chrome/Edge: Click the install icon in the address bar
  • Safari iOS: Share → Add to Home Screen
  • Firefox Android: Menu → Install

The service worker (assets/sw.js) caches all resources for full offline functionality.


Architecture

spreadforge-budget-debt-master/
├── spreadforge-budget-debt-master.html   # The entire app (~207KB)
├── assets/
│   ├── manifest.webmanifest              # PWA manifest
│   ├── sw.js                             # Service worker (stale-while-revalidate)
│   └── icons/                            # 9 branded PNG icons (72px–512px)
├── docs/                                 # Screenshots for README
├── CONTRIBUTING.md
├── LICENSE                               # MIT
└── README.md

Tech Stack

Layer Technology
Markup & Layout Semantic HTML5, CSS custom properties, responsive grid/flexbox
Data IndexedDB via Dexie.js (loaded from CDN)
Charts Chart.js (loaded from CDN)
Typography Inter (Google Fonts CDN)
Offline Service worker with stale-while-revalidate caching
Build None — zero build step, zero bundler, zero compiler

Data Model

All data is stored client-side in IndexedDB. The Dexie.js schema:

Table Purpose
settings User preferences (name, currency, theme, budget type)
budgetCategories Income, expense, and savings categories
monthlyBudgets Per-category budget targets by month
transactions Individual income/expense entries
debts Debt accounts with APR, balances, payment info
sinkingFunds Goal-based savings with targets and deadlines
bills Recurring bills with due dates and autopay status
netWorthSnapshots Periodic asset/liability snapshots

Key Design Decisions

  • Single-file architecture. Simplifies distribution, self-hosting, and offline caching. No asset pipeline to break.
  • CDN-only external deps. Dexie.js and Chart.js are mature, stable libraries loaded from unpkg/jsdelivr. No npm, no node_modules.
  • No server requirement. The app runs entirely in the browser. IndexedDB provides persistent storage. No API calls, no cloud sync.
  • CSS custom properties for theming. Light and dark themes are driven by a data-theme attribute on <html>, toggling CSS variables. No class duplication.
  • Responsive-first. Desktop sidebar collapses to mobile bottom nav at 768px. All layouts use CSS grid and flexbox.

Browser Support

Browser Version Notes
Chrome / Edge 80+ Full support including PWA install
Firefox 78+ Full support (no PWA install on desktop)
Safari 14+ Full support including PWA on iOS
Samsung Internet 13+ Full support

Requires IndexedDB, CSS custom properties, and ES2017+ (async/await).


Contributing

See CONTRIBUTING.md for guidelines. Pull requests welcome.


License

MIT — free for personal and commercial use.

Built by JTSLabs Ltd.

About

A complete offline-first personal finance PWA — budget, track debt, build wealth. 10 modules, zero dependencies, one HTML file. MIT licensed.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors