A powerful, privacy-focused budget projection tool that runs entirely in your browser. No accounts, no servers, no subscriptions—just you and your finances.
- Why Budget App?
- Features
- Quick Start
- User Guide
- Data Management
- Technical Details
- Contributing
- Roadmap
- FAQ
- License
- Contact
Most budgeting apps want your data on their servers, charge monthly fees, or require account creation. Budget App is different:
| Feature | Budget App | Typical Apps |
|---|---|---|
| Cost | Free forever | $5-15/month |
| Privacy | 100% local storage | Cloud-based |
| Account Required | No | Yes |
| Internet Required | No (after download) | Yes |
| Data Ownership | You own it all | They own it |
| Ads | None | Often yes |
Your financial data never leaves your device. Export it, back it up, delete it—you're in complete control.
- Budget Projections — See your finances up to 12 months ahead
- Running Balance — Day-by-day breakdown of every transaction
- Lowest Balance Alerts — Identify cash flow danger zones by month
- Multi-frequency Income — Weekly, bi-weekly, monthly, or one-time income sources
- Recurring Bills — Set it once, tracked every month automatically
- Ad-hoc Expenses — One-time purchases on specific dates
- Custom Categories — Create categories that match your life
- Inline Editing — Click to edit any entry directly
- Math Expressions — Enter
1500+250or2000-150in any amount field - Running Budget Adjustments — Override calculated values for real-world scenarios
- End-of-Month Handling — Bills set for the 31st auto-adjust for shorter months
- Expenses Breakdown Chart — See where your money goes
- Category Analysis — Spending patterns by category
- Color-Coded Balances — Green (safe), orange (caution), red (danger)
- JSON Export — Full backup with one click
- JSON Import — Restore or transfer data instantly
- Sample Data — Try the app without entering real data
- Complete Reset — Start fresh anytime
- Mobile Responsive — Works on phone, tablet, and desktop
- Collapsible Sections — Minimize clutter, focus on what matters
- Print Friendly — Clean printouts for offline reference
- No Loading Screens — Instant, snappy performance
git clone https://github.com/legendarycue/budget-app.git
cd budget-app
open index.html- Download the latest release
- Extract the ZIP file
- Double-click
index.html
That's it. No installation, no dependencies, no build process.
Start by defining when to begin tracking and how far ahead to project:
- Open Start Date and Projection Length
- Select your start date (today or a future date)
- Choose projection length (1-12 months)
- Click Set Start Date
Set your starting point:
- Open Checking Account Balance
- Optionally name your account (e.g., "Bills Checking")
- Enter your current balance
- Click Update Checking
Tip: You can use math expressions! Enter
1500+237.50and it calculates automatically.
These are expenses that repeat every month:
- Open Add Bill/Expense
- Enter the bill name (e.g., "Mortgage")
- Set the day of month it's due (1-31)
- Enter the amount
- Select or create a category
- Click Add Bill
Track money coming in:
- Open Add Income
- Enter income name (e.g., "Paycheck")
- Enter amount per payment
- Select frequency:
- Weekly — Every 7 days
- Bi-weekly — Every 14 days (most common for paychecks)
- Monthly — Same date each month
- One-time — Single occurrence
- Set the start date (your next payday)
- Click Add Income
For non-recurring purchases:
- Open Add Adhoc Expense
- Enter expense name
- Select the specific date
- Enter amount and category
- Click Add Adhoc Expense
The right side of the screen shows:
- Expenses Breakdown — Total spending per expense over the projection
- Expenses by Category — Where your money goes by type
- Lowest Balances by Month — Your tightest cash flow days
- Running Budget — Day-by-day transaction log with running balance
Real life doesn't match predictions. Use the Edit button on any Running Budget row to:
- Override the calculated amount for that day
- Add notes explaining the adjustment
- Handle deferrals, partial payments, or windfalls
Do this regularly! Your data lives only in your browser.
- Click Menu → Export Data (JSON)
- Save the file somewhere safe (cloud storage recommended)
- File is named
budget_data_YYYYMMDD_HHMMSS.json
- Click Menu → Import Data
- Select your backup JSON file
- Data loads immediately
- Export from Device A
- Transfer the JSON file (email, cloud, USB)
- Import on Device B
- Click Menu → Reset Data
- Confirm the reset
- All data is permanently deleted
Warning: Reset cannot be undone. Export first if you might want the data later.
| Technology | Purpose |
|---|---|
| HTML5 | Structure |
| CSS3 | Styling & Responsiveness |
| JavaScript (ES6) | Application Logic |
| Chart.js | Data Visualization |
| localStorage | Data Persistence |
| Font Awesome | Icons |
| Browser | Supported |
|---|---|
| Chrome | ✅ |
| Firefox | ✅ |
| Safari | ✅ |
| Edge | ✅ |
| Opera | ✅ |
| IE11 | ❌ |
- All data stored in browser
localStorage - Storage limit: ~5-10MB (browser dependent)
- Data persists until cleared or browser data is deleted
- No data sent to external servers
budget-app/
├── index.html # Main application page
├── app.js # Application logic (~1000 lines)
├── styles.css # All styling
├── favicon.ico # Browser tab icon
├── README.md # This file
├── CHANGELOG.md # Version historyosh Griffith*
├── LICENSE.md # MIT License
└── .github/
└── copilot-instructions.md # AI coding assistant config
Contributions are welcome! Here's how:
- Check existing issues first
- Create a new issue with:
- Clear description of the bug
- Steps to reproduce
- Expected vs actual behavior
- Browser and OS information
- Open an issue with the
enhancementlabel - Describe the feature and its benefit
- Include mockups or examples if possible
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature-name - Make your changes
- Test thoroughly
- Commit with clear messages:
git commit -m "Add: description of change" - Push to your fork:
git push origin feature/your-feature-name - Open a Pull Request
- No frameworks—keep it vanilla JS
- Mobile-first responsive design
- Clear comments for complex logic
- Update CHANGELOG.md for any changes
- Test on Chrome, Firefox, and Safari minimum
- Multiple checking accounts
- Savings account tracking with goals
- CSV export for spreadsheet users
- Dark mode
- Recurring expense templates
- Budget vs actual comparison
- Bill reminder notifications (with permission)
- ❌ User accounts or cloud sync (privacy-first philosophy)
- ❌ Bank connections or imports (security concern)
- ❌ Ads or premium tiers (free forever)
Have a feature idea? Open an issue!
Q: Is my data really private?
A: Yes. Budget App runs entirely in your browser. No servers, no analytics, no tracking. Your data literally cannot leave your device unless you export it yourself.
Q: What happens if I clear my browser data?
A: Your budget data will be deleted. Always export backups before clearing browser data.
Q: Can I use this offline?
A: Yes! After the initial page load, everything works offline. The only external resources are Chart.js and Font Awesome (icons), which browsers typically cache.
Q: How do I move my data to a new computer?
A: Export your data as JSON, transfer the file to your new computer, then import it.
Q: Why won't my file import?
A: Ensure it's a valid JSON file exported from Budget App. The filename doesn't matter—only the contents.
Q: Is there a size limit?
A: Browser localStorage is typically 5-10MB. That's enough for years of budget data.
Q: Can I track multiple bank accounts?
A: Currently, Budget App tracks one checking account. Multiple accounts are on the roadmap.
Q: Why don't my bills appear on the right dates?
A: Check that your projection start date is before the bill dates. Bills only show within your projection window.
Q: What if my bill is due on the 31st but the month only has 30 days?
A: Budget App automatically adjusts—the bill will appear on the last day of that month.
Q: The app isn't saving my changes!
A: Check if you're in a private/incognito window. localStorage is often disabled in private browsing.
Q: Charts aren't displaying!
A: Ensure JavaScript is enabled and try refreshing. If using an ad blocker, it may be blocking Chart.js.
Q: Something broke after an update!
A: Try importing a recent backup. If issues persist, use Reset Data and re-import.
This project is licensed under the MIT License. See LICENSE.md for details.
MIT License - Copyright (c) 2025 "Vrostbyte"
You are free to use, modify, and distribute this software.
Vrostbyte (Vrostbyte)
- Email: vrostbyte@proton.me
- GitHub: @vrostbyte
- Chart.js — Beautiful, flexible charting
- Font Awesome — Quality iconography
- Everyone who's provided feedback and bug reports
Budget App — Take control of your finances, privately.
Made with ☕ in Phoenix, AZ


