← projects

SpendWise

A personal expense tracker with dashboard analytics, filters, and CSV export

SpendWise is a personal budget planning and investment tracking application built for my own financial workflow. The project is designed to manage income, expenses, savings, and investment decisions within the same system.

Overview

SpendWise is a budget planner application designed to make personal financial flow easier to track, understand, and plan.

The main goal of the application is not only to answer “how much did I spend?”, but to bring income, expenses, savings, and investment decisions into one connected structure.

Most expense tracking tools focus heavily on the past. They show what was spent at the end of the month, but that information alone is not always enough. SpendWise treats financial data not only as a record of past transactions, but also as a planning layer for future decisions.

Because of that, the project is built around a more complete model where personal budgeting and investment tracking work together.

System Idea

One of the main problems in personal finance is fragmented data.

Salary, side income, card expenses, subscriptions, debts, short-term goals, long-term investments, and available cash are often tracked in different places. This makes it difficult to understand the real financial picture.

SpendWise is designed to reduce that fragmentation by focusing on questions such as:

With this structure, the application is not just a transaction list. It becomes a personal planning surface that makes financial decisions more visible.

Core Modules

SpendWise is structured around several financial modules.

The main modules include:

These modules are separated logically, but they are connected inside the system. An expense is not only an expense; it also affects the investment capacity of the month, available cash, and progress toward financial goals.

In the same way, an investment record is not only a note that money was invested. It also needs to be evaluated together with liquidity, remaining monthly budget, and upcoming financial obligations.

Main Use Case

The main use case of SpendWise is reading the personal financial picture from a single place.

The application is designed for situations such as:

For example, when a large technology purchase is made during a month, it should not appear only as an expense inside a category. It also affects the amount that can be invested that month, the available emergency cash, and possibly the next month’s plan.

This approach treats financial movements not only as accounting entries, but as part of a personal financial strategy.

Budget Planning Model

Budget management in SpendWise is not designed as a rigid limit system.

Many finance applications allow users to define category limits and then show whether those limits are exceeded. That is useful, but it is not enough on its own. Personal finance can change during the month because of unexpected income, postponed expenses, urgent payments, or new investment opportunities.

SpendWise is based on a more flexible budgeting structure.

The budget can be divided into areas such as:

This structure makes it possible to understand not only the total amount spent, but also the nature of that spending.

For example, rent, transportation, or subscriptions should not be interpreted in the same way as impulse purchases. One represents the base cost of the financial structure, while the other is part of the controllable behavior area.

Investment Tracking

One of the areas that separates SpendWise from a basic budget planner is how it treats investments as a natural part of the budgeting system.

Investments are not tracked only to show portfolio activity. The main purpose is to understand whether investment decisions are compatible with monthly cash flow.

The system is designed around questions such as:

In this model, investment tracking is not disconnected from budgeting. It is one of the central parts of the personal finance structure.

Income and Expense Logic

Income and expense tracking forms the main data layer of SpendWise.

Each financial movement can be evaluated through fields such as:

This makes expenses more than chronological records. They become financial data points that can be filtered, grouped, and interpreted.

Two expenses with the same amount may have completely different meanings. A necessary health expense and an unplanned consumption expense may have the same mathematical impact on the budget, but they should not be interpreted in the same decision category.

That distinction is important in the data model of SpendWise.

Cash Flow Perspective

In personal budgeting, one of the most important concepts is not only total wealth, but cash flow.

Someone may be investing regularly and still have an unstable financial structure if short-term payments cannot be handled comfortably.

For that reason, SpendWise is designed to make monthly cash flow visible, not only total income and total expenses.

The cash flow view can highlight:

This turns the budget from a passive recording system into an active planning tool.

Forward-Looking Planning

One of the important directions of SpendWise is using past financial records for future planning.

The application can make financial behavior more readable over time and create a foundation for more realistic planning in the following months.

Potential planning areas include:

With this structure, the system can answer not only “where am I right now?”, but also “where will this pattern take me in a few months?”

Technical Approach

SpendWise is approached as an application that needs to manage personal finance data in a clean, structured, and extendable way.

The technical focus is to keep the system simple, fast, and maintainable.

The general technical approach includes:

The value of the application does not come from being an unnecessarily complex financial engine. It comes from modeling personal financial data correctly and presenting it clearly enough to support decisions.

Data Model

The data model in SpendWise treats financial movements not only as records, but as interpretable events.

Core data structures can include:

This structure can support more advanced indicators over time.

For example, category-based spending density, investment ratio, remaining amount after expenses, time left to reach a goal, or a monthly financial discipline score can all be built on top of this model.

Interface Logic

For an application like SpendWise, the interface should not make financial data feel heavier than it already is.

The main purpose of the interface is to make the financial situation quickly readable.

The UI approach is based on:

When the user opens the application, the first thing should not be a dense transaction table. The first view should show the financial state. Details should be available when needed.

This is especially important for personal use. No matter how capable the application is, it only creates value if it is used regularly. SpendWise is therefore designed around fast input and fast reading.

Development Direction

The long-term direction of SpendWise is to grow from a basic income-expense tracker into a broader personal finance planning system.

Possible development areas include:

With this direction, SpendWise is positioned not as a tool that only stores past transactions, but as a personal finance system that supports more controlled future decisions.

Conclusion

SpendWise is a personal budget planner that brings income, expenses, investments, and saving plans into one connected structure.

The focus of the project is not simply recording spending. It is about understanding how financial movements affect each other.

How an expense changes investment capacity, how recurring payments shape cash flow, whether investment goals are realistic within the monthly budget, and how future spending decisions can be planned from today are all part of the system’s core logic.

For that reason, SpendWise is designed as a simple but extendable personal finance application focused on managing money with more clarity, structure, and forward-looking control.