Zero-Dependency Student Expense Tracker & CLI Budget Monitor
0-dependency CLI tool delivering instant setup and real-time ASCII budget tracking
0 Sec
No pip installs
100% Local
Securely stored in structured JSON file
3 Steps
(Quickly add, view, and analyze category
Overview
College students frequently lose track of monthly spending across UPI, canteen bills, travel, and recharges. Most existing solutions require heavy mobile apps, active internet, or complex database setups. This project solves that gap by creating a lightweight, zero-dependency Python CLI tool. It provides students with a private, offline, and instant way to log expenses, set monthly budget limits, and view visual analytics directly from their terminal with zero system configuration. Process 1)Zero-Dependency Constraint: Committed to Python's standard library so the evaluator can run the script instantly without needing pip install. 2)JSON Storage Layer: Swapped basic in-memory dictionaries for a robust local JSON file (expenses.json) to persist data across sessions and pre-populate sample data. 3)Dynamic Terminal UX: Created an interactive console loop with numeric menus. Built a auto-padding table formatter to display transactions cleanly regardless of text lengths. 4)UTF-8 Reconfiguration: Initially, Windows CMD crashed when rendering menu emojis. Resolved this by forcing stdout to reconfigure to UTF-8 encoding dynamically at launch. Results 1)100% Run Rate: Script executes successfully on any clean Python 3 environment in under 0.1 seconds. 2)Error Resilience: Validations catch all user input errors (such as text entered as expense amounts or incorrect dates) without crashing. 3)Visual Clarity: Provides immediate, glanceable spending breakdowns (e.g. [████░░░░] 35%) using pure text progress bars to guide students away from overspending. Reflection Export & Visualization: Integrate Pandas and Matplotlib optional support to export expenses directly into Excel sheets and auto-generate pie charts. Nested Tagging: Introduce sub-categories (e.g. under "Food", separate "Canteen" from "Groceries"). UPI SMS Parser: Build an optional parser that reads pasted UPI confirmation messages to automatically populate date, amount, and recipient.