MP Thaker
Case study
SIDE PROJECT · DEMO BY REQUEST · 2024

A wealth-ops platform built on real institutional APIs — not synthetic data.

Hummingbird is a personal-finance system built the way a serious fintech would build one: Plaid for real banking, Alpaca for paper-trade execution, an Observer → Allocator → Trader agent architecture, five MCP servers so Claude can drive the surface directly, source-credibility-weighted news intelligence, and 96.2% categorization accuracy validated by a real Jest suite. Not deployed publicly — by design.

RoleSolo build · PM + eng
StackNext.js · Supabase · Plaid · Alpaca · MCP
StatusFunctional locally · demo by request
Codebase30,000+ lines · 58 API endpoints
Hummingbird dashboard — accounts, balances, and AI-generated insights in dark mode
Categorization96.2%AI accuracy, Jest-validated
Endpoints58functional API endpoints
MCP servers5so Claude can drive the financial surface
Response time<200msp95 across the API
00Status

Why this one isn't public.

Functional locally, demo by request. The reason is the same reason it’s portfolio-worthy: real banking integrations, real paper-trade execution, real financial-data surfaces. Standing that up publicly means a compliance posture this project doesn’t carry. What you see here is the engineering, the architecture, and the behavioral surface — not a live consumer launch.

View code on GitHub →Request a demo →
01The architecture

Three agents, five MCP servers, one orchestrator.

01

Observer · what is happening

Watches transactions via Plaid. Categorizes at 96.2% (GPT-4) with confidence scoring on every call. Tags an emotional_impact field per transaction (stress_spending, celebration, necessity, investment) inferred from category + amount patterns.

02

Allocator · what to do with the surplus

Reads the cash-flow forecast, surfaces opportunities (debt payoff, tax optimization, goal funding, tactical investments). Proposes — never executes. Every proposal carries a why, a confidence score, and a one-click override.

03

Trader · how to execute, safely

Executes against Alpaca paper trading with real market data. Sandboxed by design. The seam where real automation could happen if a household decided to wire it up, with the human-in-the-loop gate already enforced.

On top of the agents: five MCP servers so Claude can drive the financial surface directly — plaid-connector (sync_accounts, fetch_transactions, get_balances, check_connection_health), categorization-engine (merchant intelligence + confidence scoring), financial-analysis (multi-LLM calculations across OpenAI + Anthropic), alert-system (SendGrid email + Twilio SMS), account-sync (full sync, balance sync, position sync). Claude is a first-class operator inside the product, not a chat bolted on the side.

02The news engine

Source-credibility-weighted, not undifferentiated noise.

The 838-line news intelligence engine aggregates from News API over a 7–10 day rolling window, then applies a source credibility score before anything reaches the user — WSJ 95, Reuters 92, Bloomberg 90, FT 88, CNBC 75, Yahoo Finance 70. Extracts investment implications per article, surfaces theme + consensus + sentiment with explicit source attribution. Falls back to mock sources cleanly when the News API key is unavailable. The signal-to-noise problem isn’t solved by more articles; it’s solved by ranking them honestly.

03The behavioral surface

GraphQL command palette + emotional-spending model.

The command palette is 462 lines and seven specialized data sources. Open it, type “show me all coffee purchases last month” in natural language, get a structured result the Allocator can reason about. It’s how serious users actually want to drive a financial app once they trust it.

The emotional-spending detection isn’t a personality test. It’s a singleemotional_impact field on each transaction, inferred from category + amount + behavioral baselines. Useful at the household level, important at the trust level — it puts the system on the user’s side instead of turning their bank statement into a judgment.

04The demo

18 months of Alex Chen, runnable locally.

Demo mode ships with 18 months of realistic data for a fictional Alex Chen — 32, software engineer, $145K base. Seasonal transactions auto-added. Card / crypto / investment positions exercise the real Alpaca + Plaid integration patterns. A portfolio visitor can spin it up locally and walk through the full surface without touching a real bank account.

05The test surface

Real Jest suites, not aspirational comments.

alpaca-integration runs seven concrete scenarios (account connection, portfolio positions, portfolio history, market data, order history, paper trade execution, portfolio analytics) with success / failure / timing tracked. ai-historical-analysis is a 605-line Jest suite covering data-depth assessment, seasonal patterns, YoY trends, 12-month forecasting, anomaly detection, financial-health scoring. The 212-line system-coordination suite validates multi-agent coordination across Observer / Allocator / Trader plus the AI systems.

Plaid integrationAlpaca paper tradingMCP server architectureMulti-agentGraphQL command paletteSource-credibility news engine

NEXT CASE STUDY

World Cup 2026 visualizer