a personal finance & productivity cli built with python.
lifeledger is a python command-line application built to help manage everyday life in one place. it combines personal finance, productivity, and habit tracking into a single, modular application that will continue to grow over time.
- add one or multiple expenses
- automatically generate unique expense ids
- categorize expenses
- view all recorded expenses
- delete expenses by id
- store data locally using csv files
- validate user input and handle common errors
- record multiple income sources
- categorize income (salary, freelance, gifts, investments, etc.)
- calculate total earnings
- compare income against expenses
- create and manage daily tasks
- assign priorities
- set due dates
- mark tasks as completed
- organize pending and completed tasks
- create daily and weekly habits
- mark habits as completed
- build streaks
- monitor consistency over time
- display total income, expenses, and savings
- monthly financial summaries
- ascii charts and graphs
- spending breakdown by category
- task completion statistics
- habit streak summaries
- automatic date and time tracking
- budgeting system with spending limits
- expense editing and searching
- recurring expenses and subscriptions
- bill reminders
- receipt image support
- mood and occasion tracking for purchases
- personal journal or scrapbook entries
- achievements and streak system
- trivia mini-game to unlock bonus streaks
- data export to csv/pdf
- secure user authentication
- sqlite/postgresql database integration
- api integrations
- full web application with a frontend and backend
- responsive dashboard with interactive charts
- python
- csv module
- file handling
- exception handling
- modular programming
- functions
- loops
- dictionaries
lifeledger/
│
├── data/
│ ├── expenses.csv
│ ├── income.csv
│ ├── tasks.csv
│ └── habits.csv
│
├── lifeledger/
│ ├── __init__.py
│ ├── main.py
│ ├── expense_manager.py
│ ├── income_manager.py
│ ├── task_manager.py
│ ├── habit_tracker.py
│ └── dashboard.py
│
├── README.md
├── requirements.txt
├── .gitignore
└── LICENSE
clone the repository
git clone https://github.com/your-username/lifeledger.gitmove into the project
cd lifeledgerrun the application
python -m lifeledger.main- project setup
- cli main menu
- expense manager
- income manager
- task manager
- habit tracker
- dashboard
- analytics and reports
- budgeting system
- api integration
- database migration
- web application
this project is helping me learn:
- object-oriented and modular programming
- file handling and data persistence
- clean project architecture
- git and github workflow
- data visualization
- working with databases
- api development and integration
- backend development
- frontend development
- deploying full-stack applications
currently under active development. every feature is being built from scratch as part of my python learning journey, with the long-term goal of turning lifeledger into a complete personal productivity and finance platform.
ps: i'm currently working on the remaining modules and adding new functionality step by step. more updates are coming soon. 🤍