Zahid Finance
A relationship-based personal ledger and trust-money tracking system designed for individuals managing loans, shared commitments, and net worth overview.

What was broken or missing
Informal loans, repayments, and trust-money commitments often scatter across chat apps and notebooks, resulting in forgotten balances and awkward financial reconciliation.
Solo Engineering & Delivery
Solo Full-Stack Developer — conceived the relationship ledger model, wrote row-level security policies in Supabase, designed double-entry inspired transactions, and implemented exportable reports.
Technologies & Architecture
Core Capabilities & Outcomes
Person-centric ledger profiles
View running balances, mutual history, and active obligations per contact instantly.
Double-entry transaction audit log
Every debit, credit, and settlement is immutable and timestamped.
Trust money & custody segregation
Clearly partitions personal capital from third-party trust funds.
Obstacles & Solutions
Challenge #1
Handling complex settlement scenarios where partial repayments span multiple distinct obligations.
How I solved it
Designed a FIFO allocation model that automatically ties settlements to the oldest open obligation while allowing manual override.
Challenge #2
Protecting sensitive personal financial data against unauthorized access.
How I solved it
Enforced Supabase PostgreSQL Row Level Security (RLS) policies guaranteeing strict isolation per authenticated user ID.
Verified Project Results
Screenshots & User Interface


Detailed Case Study
Overview
Zahid Finance is a personal finance system built around the way money actually moves between people. It separates personal income and expenses from money lent, money borrowed, and money held in trust for someone else.
Problem
Standard budgeting tools often reduce finance to income versus expense. That model becomes confusing when a user is tracking repayments, shared obligations, advances, or funds being held for another person.
Engineering approach
- Built with React, TypeScript, TanStack Start and TanStack Router.
- Uses Supabase for authentication, data, and storage.
- Uses Resend-backed email workflows to retain financial messages and attachments as records.
- Supports structured transaction history, categories, reminders, recurring entries, funds, and reporting.
Key capabilities
The system makes relationship-based balances visible instead of leaving them in memory, chat messages, or scattered notes. It is designed to keep financial context attached to the people and responsibilities behind each transaction.
Live product
Available at finance.zahidp.com.
Read the engineering decisions behind this project
Explore deep-dive technical insights on the blog.