03 — 2026

Meridian

A personal-finance app in the Rocket Money mold: Plaid-linked accounts, budgets, net worth, and an AI advisor that only advises.

Role
Solo — design, build, ship
Year
2026
Stack
TypeScript · Next.js 16 · React 19 · Supabase (Auth, Postgres, RLS) · Plaid · Vercel AI SDK + Anthropic · Upstash Redis
Links
LiveSource on request
Meridian overview: net worth of $128,402 with a six-month chart, linked accounts, spending by category, budgets and an AI spending review

What it is

Meridian pulls accounts, transactions, balances, liabilities and investment holdings through Plaid and turns them into one calm view: net worth over time, spending by category, budgets with live spend, recurring charges and subscriptions, credit health, and portfolio performance. An AI advisor layered on top writes spending and portfolio reviews. It recommends — and by design has no path to place a trade.

It started as a backend — 25 JSON endpoints behind Supabase Auth with Row-Level Security, so a request can only ever touch its own rows — and grew a full UI with a sample-data mode, so anyone can explore the product without linking a bank.

How it's built

  • Next.js 16 App Router with API routes. Every user route resolves the Supabase access token to a user-scoped client, so Postgres RLS enforces isolation instead of application code.
  • Plaid access tokens are encrypted at rest with AES-256-GCM and never returned to the client. Sync, cron and webhook paths use a service-role client filtered by an explicit user id.
  • Per-user rate limiting on the Plaid and AI routes through Upstash; a daily cron refreshes data and snapshots net worth for the history chart.
  • The AI advisor reuses a research → structured-output engine: it gathers the user's data, reasons over it, and returns typed insights the UI renders as cards.

Highlights

  1. 01Security decisions are structural: RLS for isolation, encryption for bank tokens, verified Plaid webhooks, and an advisor that cannot execute anything.
  2. 02Sample-data mode renders the entire product — overview, transactions, budgets, recurring, investments — with realistic fixtures, which made it demoable and testable without a live bank link.
  3. 03Adapters, formatters, pricing and webhook guards are covered by unit tests that run with no network.
  4. 04Responsive down to a phone, including a bottom tab bar for the main sections.

What I'd do next

  • A real credit-bureau provider — Plaid's standard products don't return a FICO score, so credit health is derived from utilization and payment history today.
  • Cancellation flows for recurring charges beyond marking a subscription cancelled.

More screens

The Meridian transactions list with category filters and search
The Meridian overview on a phone with a bottom tab bar