Skip to content

Latest commit

Β 

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’° Finance Pro β€” Personal Finance Tracker [ARCHIVED]

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.

Python Flask SQLite AI


πŸ“œ LICENSE

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.


πŸ“– What Is This?

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

✨ Key Features

🏦 Multi-Account Support

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.

πŸ’³ Credit Card Tracking

Track credit card spending, payments, and available limits. Bill payments automatically deduct from your bank account and reduce your card balance.

πŸ“Š Dashboard & Reports

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.

🎯 Savings Goals

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.

πŸ’΅ Budget Management

Create monthly budgets for categories like Food, Transport, or Entertainment. Get automatic alerts at 50%, 70%, 90%, and 100% of your budget.

🀝 Interpersonal Ledger (Debts & Loans)

Track who you borrowed money from and who you lent money to. Record partial payments and see settlement progress in real time.

πŸ€– AI Financial Assistant

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.

πŸ”” Smart Notifications

Background workers check your finances every 15 minutes and alert you about:

  • Budget overruns
  • Upcoming subscription renewals
  • Goal milestones
  • Unusual spending patterns

πŸ—‘οΈ Trash & Recovery

Accidentally deleted something? Everything goes to the trash first. You can restore it anytime before permanently deleting.

πŸ’Ύ Backup & Restore

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.

πŸ“± Asset Tracking

Track your physical assets (phone, laptop, bike, etc.) along with purchase date and current value.

πŸ” Universal Search

Search across transactions, accounts, and more β€” all from one search bar.


πŸ—οΈ How It's Built

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)

πŸš€ How to Set Up

Step 1 β€” Install Python

Make sure you have Python 3.10 or newer installed. Download it from python.org if you don't have it.

Step 2 β€” Download This Project

git clone https://github.com/pkbehera-dev/Money.git
cd Money

Step 3 β€” Create a Virtual Environment

python -m venv venv

# On Windows:
venv\Scripts\activate

# On Mac/Linux:
source venv/bin/activate

Step 4 β€” Install Required Packages

pip install -r requirements.txt

Step 5 β€” Set Up Your Environment File

Create a .env file in the project folder:

FLASK_APP=app.py
FLASK_ENV=development
GEMINI_API_KEY=your_gemini_api_key_here

Don't have a Gemini API key? That's fine! The app will fall back to Ollama (local AI) or work without AI features.

Step 6 β€” Run the App

python app.py

Or on Windows, just double-click run.bat.

Open your browser and go to: http://127.0.0.1:5000

πŸ”’ Privacy & Security

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.

πŸ› οΈ Tech Stack

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

πŸ“œ Full Copyright Notice

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!

About

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.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages