All projects

./ Case study

Alpha / MVP portfolio project — not a finished product.

Live
Visit
Code
GitHub
Slug
smartpockets

SmartPockets

Personal finance and credit-card management platform.

PlaidLINK · TRANSACTIONSConvexREALTIME DB · ACTIONSSmartPockets AppNEXT.JSClerkAUTH · SESSIONSAI AssistantINSIGHTS FROM TXReact Email + ResendTRANSACTIONALPLAID-SYNCED CARD UTILIZATION · TURBOREPO · @repo/* PACKAGES
Architecture sketch · smartpockets

01Problem

Most personal finance apps optimize for budgeting; few help cardholders actually manage their portfolio of credit cards — payment timing, utilization, rewards, and the cognitive load of switching between issuer dashboards.

02What I built

A Plaid-synced credit-card dashboard with card management, transactions, wallet organization, settings, and an AI assistant interface for surfacing payment and account insights.

03Highlights

  • 01

    Plaid Link + transactions sync via Convex actions, normalized into a single transactions schema

  • 02

    Card-level utilization and payment-due tracking driving prioritized notifications

  • 03

    AI assistant scaffolded for surfacing account-level insights from transaction history

  • 04

    Turborepo monorepo with apps/app + apps/marketing, shared @repo/* packages

  • 05

    Email infra via React Email + Resend; auth via Clerk

04Outcomes

  • Live and open source at smartpockets.com — an alpha / MVP, intentionally not presented as a finished product.
  • Plaid Link and transaction sync normalize into a single Convex schema that drives card-level utilization and payment-due tracking.
  • Built as a Turborepo monorepo (app + marketing) with Clerk auth and React Email + Resend transactional email.

05Stack

  • Next.js
  • TypeScript
  • Convex
  • Plaid
  • Clerk
  • Tailwind CSS
  • React Email
  • Resend
  • Turborepo

06Status

Alpha / MVP portfolio project — not a finished product.

07What this demonstrates

End-to-end full-stack TypeScript: financial-data integration, schema design under realtime constraints, monorepo architecture, transactional email, auth, AI feature scaffolding.

08Author's note

The hardest part was schema design under realtime constraints — Convex makes the optimistic UI cheap, so the work shifts to making the source-of-truth normalization predictable.

5 min read