Skip to main content
All projects

Personal·2024

My App (Expense & Reading Tracker)

Personal Expense, Reading, and Financial Utility Tracker

My App (Expense & Reading Tracker)
Role
Full Stack Developer
Team
Solo Project
Year
2024

Key figures

3
Versions built over time
C → Next.js
From first language to modern web
Reading · Expenses
Core systems in daily use
Every day
Usage

A long-running personal project developed continuously to learn new technology stacks—from C to Next.js. The core modules include a reading tracker (books read, reviews, daily pages) and a daily expense tracker with weekly and monthly summaries. The app also expands into shared financial utilities such as monthly subscription splitting with friends, recurring expense tracking, and lending/debt records. The project is designed to keep evolving with additional modules over time.

The problem

  1. 01Needed a highly customizable personal tool for both reading habits and financial tracking.
  2. 02Wanted a system that summarizes behavior and trends—such as daily pages read and weekly/monthly expense overviews.
  3. 03Aimed to use a single project as a long-term benchmark for engineering growth by progressively upgrading the tech stack.

The approach

  1. 01Built the project through three iterations to reflect structured learning and feature expansion.
  2. 02Version 1 (C / CLI): A command-line application focused on reading logs, strengthening fundamentals in data structures and file/data handling.
  3. 03Version 2 (PHP / Early Web): An early web implementation that introduced server-side web development, featuring both reading tracking and income/expense recording.
  4. 04Version 3 (Current / Next.js): A complete rewrite using Next.js, Prisma, and MySQL to adopt modern web architecture and build an extensible modular system (Reading Tracker, Expense Tracker, Subscription Split, Recurring Expenses, Lending/Debt Tracking).

The result

  1. 01A practical tool used in everyday life for tracking reading progress and personal spending.
  2. 02Clear summaries that reveal trends, including daily pages read and weekly/monthly financial overviews.
  3. 03A single evolving codebase that demonstrates growth—from CLI to legacy web to a modern, scalable web application.

Retrospective

Challenges

  • Designing a database that supports multiple domains (reading, expenses, shared subscriptions, recurring costs, lending/debts) while remaining clear and extensible.
  • Translating concepts and data across platforms and architectures (CLI → PHP web → Next.js), including changes in data formats and system structure.
  • Maintaining a scalable code structure over time—module boundaries, naming conventions, and consistent weekly/monthly aggregation logic.
  • Keeping the UX frictionless for daily logging while presenting summaries that are easy to interpret.

Learnings

  • Software evolution concepts and how to iteratively grow a system from a minimal version to a richer product.
  • Key differences between legacy web development (PHP) and modern web development (Next.js), including architecture, state management, and development workflows.
  • Domain-driven data modeling and query design for efficient weekly/monthly aggregations.
  • Modern full-stack development with Next.js + Prisma, from project structure and server-side logic to interactive UI and data-driven dashboards.
  • Building extensible modules—such as subscription splitting and recurring expenses—that can adapt as requirements change over time.

Interested in work like this?

Tell me about your brief — I reply within 24 hours.

Start a conversation