All projects
Personal·2024
My App (Expense & Reading Tracker)
Personal Expense, Reading, and Financial Utility 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
- 01Needed a highly customizable personal tool for both reading habits and financial tracking.
- 02Wanted a system that summarizes behavior and trends—such as daily pages read and weekly/monthly expense overviews.
- 03Aimed to use a single project as a long-term benchmark for engineering growth by progressively upgrading the tech stack.
The approach
- 01Built the project through three iterations to reflect structured learning and feature expansion.
- 02Version 1 (C / CLI): A command-line application focused on reading logs, strengthening fundamentals in data structures and file/data handling.
- 03Version 2 (PHP / Early Web): An early web implementation that introduced server-side web development, featuring both reading tracking and income/expense recording.
- 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
- 01A practical tool used in everyday life for tracking reading progress and personal spending.
- 02Clear summaries that reveal trends, including daily pages read and weekly/monthly financial overviews.
- 03A single evolving codebase that demonstrates growth—from CLI to legacy web to a modern, scalable web application.
Gallery
Command-line interface
16:9 / MD






Record and Code
16:9 / MD


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.
Technologies
Interested in work like this?
Tell me about your brief — I reply within 24 hours.