Sitemap

Python: Personal Expense Management App

2 min readDec 8, 2025

--

This project was developed in December 2025 as the final assignment of the Digital Literacy in Python Course at the Federal University of Santa Catarina (UFSC). The goal was to create a simple and functional application for personal expense management, applying fundamental concepts of Python programming.

Description

The application allows users to record, categorize, and analyze their personal expenses in a practical way. In addition, the system generates reports and statistics that help visualize spending and support financial decision-making.

Concepts covered

During development, several concepts learned throughout the course were applied:

  • Data structures: use of lists and dictionaries to store information;
  • Functions: modularization of code to facilitate maintenance and reuse;
  • Date handling (datetime): recording and filtering expenses by period;
  • Data analysis: calculating totals and identifying spending patterns;
  • Simple text-based charts: visual representation of results directly in the terminal.

Main features

  • Add expenses with date, category, amount, and description;
  • Categorize expenses (groceries, transportation, entertainment, etc.);
  • List expenses by specific period;
  • Calculate total spending by category;
  • Generate monthly reports;
  • Identify the category with the highest expense;
  • Export data to CSV, enabling integration with other tools.

Get Dalvolinda Silva’s stories in your inbox

Join Medium for free to get updates from this writer.

Example of data structure

expenses = [
{‘
date’: ‘2025–12–07’, ‘category’: ‘health’, ‘amount’: 120.00, ‘description’: ‘pharmacy purchase’},
{‘
date’: ‘2025–12–07’, ‘category’: ‘transportation’, ‘amount’: 25.50, ‘description’: ‘bus ticket’}
]

Main menu options

The application features a clean and intuitive command-line interface (CLI) designed to guide users through all available expense management functions. The menu presents numbered options that allow users to interact with the system efficiently, even without prior technical experience.

Main Menu

This menu-driven structure ensures that users can easily navigate the application and access its core features without needing a graphical interface. It reflects the project’s focus on functionality, clarity, and accessibility, especially for users learning Python and digital literacy concepts.

Exported expenses example

Expenses exported to expenses.csv

Impact

This project consolidated my learning in Python, demonstrating my ability to apply programming concepts to solve real-world problems. The application provides a solid foundation that can be expanded in the future with graphical interfaces, database integration, or more advanced visualizations.

Source Code

The source code for this project is available on GitHub. You can explore the implementation, review the structure, and test the application by visiting this link.

Certificate of Completion

Press enter or click to view image in full size
Training Certificate

--

--

Dalvolinda Silva
Dalvolinda Silva

Written by Dalvolinda Silva

Mainframe Analyst and Developer / Information Scientist