WalletScript — Personal Finance Tracker
The Problem
Most people manage their personal finances through scattered notes, spreadsheets, or banking apps that don't give full control. WalletScript was built to solve this — a dedicated mobile finance tracker that puts the user in complete control of their money across multiple wallets, with cloud sync and a clean, intuitive interface.
What It Does
Multi-Wallet Management — Folder-tab style wallet cards supporting multiple accounts with real-time balance display and staggered animations.
Transaction Tracking — Income, Expense, and Transfer entries with category tagging, notes, and a full history view.
Financial Goals — Goal tracking with streak calculation, auto-deduct scheduler, share card, and archive functionality.
Cloud Sync — Supabase handles authentication and real-time cloud synchronization across devices.
Onboarding & Auth Flow — Smooth onboarding with SharedPreferences persistence, Supabase deep linking, and password reset support.
Notes — Integrated notes screen for personal financial journaling.
Settings & Profile — Notification toggles wired to NotificationService, and Edit Profile with Supabase auth.updateUser() integration.
My Role
Solo personal project — I designed and developed the full application from scratch, covering UI/UX design, app architecture, Supabase integration, state management with Provider, and all feature implementation end-to-end.
A Key Decision
I chose Supabase over Firebase as the backend for WalletScript. The decision came down to wanting a structured relational database (PostgreSQL) rather than a NoSQL approach — financial data like transactions, wallets, and goals naturally fits a relational model with proper foreign keys and row-level security. Supabase also gave me full SQL control while handling auth and real-time sync out of the box.
Tech Stack
Framework: Flutter (Dart) State Management: Provider Backend & Auth: Supabase (PostgreSQL, Row-Level Security, Auth) UI: Custom navy (#0D1B3E) & yellow (#F5C842) design system, staggered animations


