Warning
ARCHIVE NOTICE: This project is no longer actively maintained or updated. It is preserved here as a historical archive. Anyone is welcome to clone, fork, study, and contribute to this repository freely under the terms of the MIT License.
For the new, optimized, compiled, and lightning-fast desktop experience without AI latency, check out our new Go + Wails + SQLite version.
This project is open-source and licensed under the standard MIT License. You are free to copy, modify, and distribute this software for personal and commercial projects, provided attribution is maintained. See the LICENSE file for the full text.
Finance Pro is a full-featured personal finance app that runs locally on your computer. It is local-first, subscription-free, and has no ads. Your data is stored locally, but if you choose to use the advanced Gemini AI assistant, it will use cloud-based Gemini APIs to process financial questions.
It helps you:
- Track your income and expenses across multiple bank accounts
- Manage credit cards and see how much you owe
- Set savings goals and watch your progress
- Create monthly budgets and get alerts when you overspend
- Track loans and debts β who you owe, who owes you
- Get AI-powered advice about your finances (using Gemini or local Ollama)
- View reports and charts to understand where your money goes
- Manage subscriptions so you never forget a recurring payment
Manage multiple bank accounts and credit cards in one place. Every transaction is linked to a specific account or card, so your balances are always accurate.
Track credit card spending, payments, and available limits. Bill payments automatically deduct from your bank account and reduce your card balance.
A beautiful dark-mode dashboard shows your total balance, monthly spending, income trends, and financial health score β all at a glance. Detailed reports break down spending by category and time period.
Set goals like "New Laptop" or "Emergency Fund" with a target amount and date. The app tracks your progress and tells you if you're on track.
Create monthly budgets for categories like Food, Transport, or Entertainment. Get automatic alerts at 50%, 70%, 90%, and 100% of your budget.
Track who you borrowed money from and who you lent money to. Record partial payments and see settlement progress in real time.
Ask questions about your finances in plain language:
- "Can I afford a new phone?"
- "How much did I spend on food this month?"
- "What is my total debt?"
The AI uses Gemini (Google's AI) for complex advice and Ollama (local AI) for quick data lookups β saving you API costs.
Background workers check your finances every 15 minutes and alert you about:
- Budget overruns
- Upcoming subscription renewals
- Goal milestones
- Unusual spending patterns
Accidentally deleted something? Everything goes to the trash first. You can restore it anytime before permanently deleting.
Create safe backups of your entire database with one click. Restore from any previous backup if something goes wrong. Uses SQLite's native backup API for safety.
Track your physical assets (phone, laptop, bike, etc.) along with purchase date and current value.
Search across transactions, accounts, and more β all from one search bar.
Money/
βββ app.py β Main server file (starts everything)
βββ database/
β βββ connection.py β Database connection (SQLite with WAL mode)
β βββ schema.sql β All database tables
βββ models/ β Data models (Account, Transaction, etc.)
βββ routes/ β URL handlers (what happens when you click things)
β βββ dashboard_routes.py
β βββ transaction_routes.py
β βββ ai_routes.py
β βββ goal_routes.py
β βββ settings_routes.py
β βββ ... (17 route files)
βββ services/ β Business logic (calculations, AI, analytics)
β βββ ai_service.py β AI query routing (Gemini + Ollama)
β βββ analytics_service.py
β βββ budget_service.py
β βββ transaction_service.py
β βββ ... (26 service files)
βββ ui/
β βββ static/
β β βββ css/ β Stylesheets (dark theme, glassmorphism)
β β βββ js/ β Client-side JavaScript
β βββ templates/ β HTML pages (16 pages)
β βββ base.html β Main layout (sidebar, notifications)
β βββ dashboard.html
β βββ transactions.html
β βββ ...
βββ utils/ β Helper functions
βββ requirements.txt β Python packages needed
βββ run.bat β Quick start script for Windows
βββ .env β Your secret keys (not shared)
Make sure you have Python 3.10 or newer installed. Download it from python.org if you don't have it.
git clone https://github.com/pkbehera-dev/Money.git
cd Moneypython -m venv venv
# On Windows:
venv\Scripts\activate
# On Mac/Linux:
source venv/bin/activatepip install -r requirements.txtCreate a .env file in the project folder:
FLASK_APP=app.py
FLASK_ENV=development
GEMINI_API_KEY=your_gemini_api_key_hereDon't have a Gemini API key? That's fine! The app will fall back to Ollama (local AI) or work without AI features.
python app.pyOr on Windows, just double-click run.bat.
Open your browser and go to: http://127.0.0.1:5000
| Feature | Detail |
|---|---|
| Where is my data? | Stored locally in finance.db on your computer. |
| Does it need internet? | Yes, if using the Gemini AI feature. It runs offline if using local Ollama or with AI disabled. |
| Is my data shared? | When you ask questions using Gemini, compressed transactional context summaries are sent to Google Gemini APIs. No direct personal identity details are sent. If using local Ollama, queries remain 100% local. |
| Can others see my data? | Not unless they access your computer or intercept Gemini API calls. |
| Technology | Why It's Used |
|---|---|
| Python 3.10+ | Main programming language β reliable and easy to work with |
| Flask | Lightweight web framework β perfect for a personal app |
| SQLite (WAL mode) | Fast, file-based database β no server needed |
| Vanilla HTML/CSS/JS | No heavy frameworks β keeps things fast and simple |
| Google Gemini AI | Smart financial advice using Google's AI |
| Ollama | Local AI model β works without internet, saves API costs |
| Mermaid | Diagrams in documentation |
MIT License
Copyright Β© 2024-2026 Pradyumna Behera (Bapun)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Made with β€οΈ by Pradyumna Behera (Bapun)
Licensed under the MIT License. Feel free to contribute!