Back to projects

MoneyMate - Track Every Taka

MoneyMate — a modern personal finance tracker for Bangladesh with multi-account management, loans, and real-time analytics, powered by Supabase.

MoneyMate - Track Every Taka preview

Status

Completed

Technologies

7

Overview

Money Mate is a modern, full-featured personal finance and expense tracking application tailored specifically for Bangladesh. It empowers users to seamlessly manage daily income, expenses, loans, and internal money transfers across Cash, Bank Accounts, and Mobile Financial Services (bKash, Nagad, Rocket). Featuring automated balance syncing and dynamic transfer fee calculations, Money Mate simplifies multi-wallet management. Users can track receivable and payable loans with due date reminders, set actionable savings goals with real-time pace monitoring, and view daily financial health via an interactive monthly calendar. Backed by Supabase for secure cloud storage and real-time database triggers, the platform offers deep visual analytics through interactive charts, category breakdowns, and downloadable PDF reports. With custom category controls, smart low-balance notifications, and a responsive dark/light interface built on React and Tailwind CSS, Money Mate delivers a complete, secure, and intuitive financial management solution for everyday users, freelancers, and professionals across the country.

11

App Routes

5

MFS Provider

100%

RLS Coverage

14

Database Table

Key Features

  • Dashboard - Monthly Income, Expense, and Net Balance summaries.
  • Wallet - Accounts for Cash, Bank, bKash, Nagad, and Rocket.
  • Internal transfer - Automated MFS transfer fees & flat fee calculations (e.g., bKash / Nagad cash-out/send-money rules)
  • Loan Management - Repayment logging, loan increases, due-date status tracking (Active, Overdue, Completed).
  • Saving Goals - Goal tracking with target amount, deadlines, dynamic pacing status (On Track, At Risk, Overdue), and contribution histories.

Technology Stack

Frontend

React

Styling & UI

Tailwind CSSLucide

Database

Postgre SQL

Language

Typescript

Backend & BaaS

Supabase

Build Tools

VITE

Screenshots

Dashboard
Dashboard
Wallets
Wallets
Statistics Panel
Statistics Panel

Timeline

Week 1

Architecture, Database & Authentication

The project started with initializing a high-performance frontend architecture powered by React 19, TypeScript, Vite, TanStack Router, Tailwind CSS v4, and shadcn/ui. Next, a secure Supabase PostgreSQL backend was established with strict Row-Level Security (RLS) policies and automated triggers for real-time wallet balance synchronization. Finally, comprehensive user authentication, profile management, and multi-account wallet creation across Cash, Bank, bKash, Nagad, and Rocket were successfully integrated.

Week 2

Core Transactions, Internal Transfers & MFS Fees

Built a complete income and expense transaction management engine featuring instant balance updates, multi-attribute filtering, and universal search. Developed a hybrid category system that seamlessly blends shared default categories with private, user-customizable categories and toggle controls. Implemented internal wallet-to-wallet transfers with an automated MFS calculation engine that dynamically computes fees and logs them as linked expenses.

Week 3

Loans, Savings Goals & Monthly Calendar

Created a robust loan management module to track receivable and payable debts, repayment records, amount increases, and overdue statuses. Designed a goal-based savings system with target amounts, deadlines, dynamic pacing indicators, and automatic wallet contribution deductions. Integrated an interactive monthly calendar displaying daily financial sums alongside smart alerts for upcoming loan deadlines and low account balances.

Week 4

Analytics, PDF Reports & Production Polish

Developed an interactive analytics dashboard using Recharts to visualize income vs. expense area trends, category donuts, and savings benchmarks. Built a client-side PDF export engine with jspdf-autotable to instantly generate and download formatted financial and savings reports. Finalized the application with Dark/Light mode refinements, mobile UI responsiveness, PWA installability, and production deployment.

Challenges

  • Multi-Wallet Real-Time Balance Synchronization & Data Consistency
  • Complex MFS Fee Logic & Transfer Charge Modeling
  • Hybrid Category Architecture (Shared Defaults vs. Private Custom)
  • Dynamic Financial Analytics & Client-Side PDF Report Generation

Solutions

  • Used automated PostgreSQL database triggers in Supabase to atomically recalculate wallet balances on every insert, update, and delete.
  • Designed a dynamic transfer_charges database matrix that auto-calculates fees and logs them as linked expense transactions.
  • Implemented a three-tier schema with Supabase Row-Level Security (RLS) to seamlessly merge read-only defaults with private user categories.
  • Built memoized client-side aggregation pipelines feeding Recharts and integrated jspdf-autotable for instant in-browser PDF generation.

Links