TAT / AGENTIC
← All projects

PERSONAL PROJECT / FINANCE

Personal Ledger

From everyday expenses to a structured ledger.

Personal Ledger is a mobile-first web application bringing personal finance, credit cards, and shared expenses together.

Built for personal use, not a public SaaS. Access is limited to the authorized owner account.

Screenshot of Personal Ledger in a test environment: the personal finance page with empty data.
Personal Ledger in a test environment, with empty data. Select to view the full image.

01 / THE PROBLEM

More expenses. More details to track.

One person may manage balances and card transactions while also paying upfront for a meal or badminton session. With information scattered across different places, it becomes harder to reconcile each person’s share and what has already been collected.

02 / THE SOLUTION

Bring related tasks together.

01

Personal finance

Track account balances, categorized income and expenses, and loans.

02

Credit cards

Manage cards, manually entered transactions, statements, repayments, and installments.

03

Dining expenses

Split equally, by item, or by person, then track collected and outstanding amounts.

04

Badminton costs

Gather court, shuttlecock, and other costs per session, then split and track payments.

03 / DEVELOPMENT

AI assists development. People guide the decisions.

The project is developed with AI assistance during the software development process. Current functionality focuses on personal finance and shared expenses; the application does not offer user-facing AI features.

React and TypeScript for the interface, ASP.NET Core for the API, and Azure SQL for storage. The application runs on Azure Container Apps behind Cloudflare, with Microsoft Entra authentication.

Core feature groups have been implemented. Personal-use testing, statement imports, and operational tuning remain ongoing.

ReactTypeScriptASP.NET CoreAzure SQLCloudflare

04 / GET IN TOUCH

Exploring a software idea?

Discuss the problem, possible approaches, and what could be tried first.