BACK TO PROJECTS
>

SmartWallet

React NativeExpoPlaidSupabaseGoogle Places API
JUN 2025 — AUG 2025[GitHub]

#Why I Built This

I have too many credit cards and no idea which one actually earns points wherever I happen to be standing. Somewhere in my wallet is a card earning 5x on whatever I'm buying, and 9 times out of 10 I'm tapping the one earning 1% instead because I didn't feel like doing math at checkout. SmartWallet (I've called it Wall8 since the first commit and never got around to renaming it) is me finally fixing that for myself.

#What is SmartWallet?

It's a mobile app that links to your bank and cards through Plaid, pulls in your transactions, and tells you which card you should have used at any given merchant. Less "budgeting app," more "opinionated friend standing over your shoulder at checkout."

#WalletBot

The centerpiece is WalletBot, an AI assistant I built to be genuinely good at credit cards specifically. I wrote it a stupidly long system prompt full of real card knowledge — reward rates, annual fees, transfer partners — so when you ask it something like "what's the best card for travel" it doesn't hedge with five clarifying questions. It just gives you two or three real cards, exact multipliers, and the math on whether the annual fee is worth it.

  • Tells you the best card for a given merchant or category, live
  • Compares two cards side by side on rewards, fees, and signup bonuses
  • Actually calculates what you'd earn per year instead of just vibing
  • Explains transfer partners and redemption value without making you go google it

#Core Features

  • Links to your bank and cards through Plaid, no manual entry
  • A card database I built by hand — 75+ cards with their rates, fees, and benefits
  • Picks up on recurring payments automatically so subscriptions don't sneak by unnoticed
  • Uses the Google Places API to figure out what a merchant actually is, instead of guessing from a cryptic transaction name
  • Its own auth system, and a UI I rebuilt from scratch after living with v1 for about a week

#Tech Stack

Built in React Native and Expo so it runs on iOS and Android from one codebase. Supabase handles auth and the database, and a small Node backend talks to Plaid for account linking and transaction syncing. WalletBot isn't a fine-tuned model — it's a regular LLM with a very long, very specific system prompt. Turns out most of the hard part is just telling it exactly how to think about credit cards, not the model itself. The card data lives in a few structured CSVs that feed straight into the recommendation logic.