---
title: "FinTrack"
url: "https://ridwaanhall.com/projects/fintrack"
markdown: "https://ridwaanhall.com/projects/fintrack.md"
summary: "A private personal finance tracker: wallets, mutual-fund goals, budgets, a ledger and a stock-trading journal."
---

# FinTrack

> A private personal finance tracker: wallets, mutual-fund goals, budgets, a ledger and a stock-trading journal.

- Category: finance
- Status: Development In Progress
- Started: May 1, 2026
- Built with: Next.js, React, TypeScript, Drizzle ORM, PostgreSQL, Supabase, Chart.js, GSAP, Vercel

## About

### The problem

Spreadsheets and bank apps show balances, but not how wallets, savings goals, budgets and stock trades fit together.

### The approach

FinTrack is a Next.js 16 app on Supabase Postgres in production and an embedded PGlite database in development. It was ported from a Django 6 application, with a script that proves the numbers match the original data exactly. Every figure derives from one ledger.

- Wallets with balances and history derived from the ledger, and budgets with monthly caps per purpose.
- Goals for mutual funds, with Buy, Sell and Switch, each one ledger entry carrying its gain.
- A journal of Indonesian stock trades with average-cost positions, realised and unrealised P&L and win rate.
- Analytics for net worth, daily and monthly flow, and spending outliers, plus an audit log with before and after diffs.

### The result

It is for my own use and the source is private. It covers mutual funds and Indonesian stocks, and deliberately nothing else.

## Features

- **One Ledger**: Wallets, goals and trades all derive from a single transaction ledger.
- **Fund Goals**: Mutual-fund goals with Buy, Sell and Switch.
- **Trading Journal**: IDX trades with positions, P&L and win rate.
- **Analytics and Audit**: Net worth trend, spending analysis and a full change log.

## Tags

finance, Next.js, personal-finance

## Elsewhere

- This page for people: https://ridwaanhall.com/projects/fintrack
- Index of every page as Markdown: [llms.txt](https://ridwaanhall.com/llms.txt)
