A clean, minimalist Progressive Web App (PWA) for tracking personal income and expenses. Fully offline-capable with local data storage, designed specifically for mobile use.
- Total Balance: View your overall financial balance (income - expenses)
- Monthly Summary: Quick view of current month's income and expenses
- Category Breakdown: Visual pie chart showing expense distribution by category
- Add Transactions: Record income or expenses with amount, category, date, and optional notes
- Edit/Delete: Modify or remove existing transactions
- Search & Filter: Quickly find transactions by category or note
- Custom Categories: Add your own custom categories on the fly
- Income vs Expenses: Compare earnings and spending over the last 6 months
- Expense Trends: Daily spending line chart for the past 14 days
- All-Time Category Spending: See which categories consume most of your budget
- Dark/Light Mode: Toggle between themes or follow system preference
- Data Export: Export all your data as CSV or JSON
- Data Management: Clear all data with confirmation
- 100% Offline: All data stored locally in your browser (IndexedDB)
- No Backend Required: Everything runs client-side
- No Data Collection: Your financial data never leaves your device
- Open Safari on your iOS device
- Navigate to:
https://ctt062.github.io/finance-app/ - Tap the Share button (square with arrow up)
- Scroll down and tap "Add to Home Screen"
- The app will appear on your home screen and open in full-screen mode
- Open Chrome on your Android device
- Navigate to:
https://ctt062.github.io/finance-app/ - Tap the Menu (three dots)
- Select "Add to Home screen" or "Install app"
- The app will be installed and accessible from your app drawer
Simply visit https://ctt062.github.io/finance-app/ in any modern browser.
- Tap the + button in the bottom navigation
- Select Income or Expense
- Enter the amount
- Choose or create a category
- Select the date (defaults to today)
- Add an optional note
- Tap Save Transaction
- Go to the History tab
- Tap on any transaction
- Modify the details
- Tap Save Transaction or Delete Transaction
- Navigate to the Trends tab
- View multiple visualizations:
- Income vs Expenses comparison
- Daily expense trends
- All-time category spending
- HTML5: Semantic markup
- CSS3: Modern styling with CSS variables for theming
- Vanilla JavaScript: No frameworks, pure ES6+ modules
- IndexedDB: Local database storage via idb library
- Chart.js: Data visualization
- Service Worker: Offline functionality and caching
- β Safari (iOS 11.3+)
- β Chrome (Android & Desktop)
- β Firefox
- β Edge
- β Any browser with Service Worker and IndexedDB support
All data is stored locally in your browser using IndexedDB. No data is sent to any server. Your financial information remains completely private and offline.
-
Clone the repository:
git clone https://github.com/ctt062/finance-app.git cd finance-app -
Serve the files using a local server (required for Service Worker):
# Using Python 3 python3 -m http.server 8000 # Using Node.js (with http-server) npx http-server -p 8000
-
Open
http://localhost:8000in your browser
finance-app/
βββ index.html # Main HTML structure
βββ style.css # All styling
βββ app.js # Application logic
βββ manifest.json # PWA manifest
βββ sw.js # Service Worker
βββ icons/ # App icons
β βββ icon.png
β βββ icon-192.png
β βββ icon-512.png
βββ README.md # This file
This app is currently deployed on GitHub Pages at: https://ctt062.github.io/finance-app/
- Push your code to a GitHub repository
- Go to Settings β Pages
- Select Deploy from a branch
- Choose main branch and / (root) folder
- Click Save
The app will be live at https://[username].github.io/finance-app/
You can also deploy to:
- Vercel: Drag and drop the folder
- Netlify: Drag and drop the folder
- Any static hosting service
Note: Service Workers require HTTPS, so make sure your hosting supports it.
- Recurring transactions
- Budget limits per category
- Monthly/yearly reports
- Multi-currency support
- Data backup/restore
This project is open source and available under the MIT License.
Contributions are welcome! Feel free to open issues or submit pull requests.
If you encounter any issues or have suggestions, please open an issue on GitHub.
Made with β€οΈ for personal finance tracking