Case Study
Folio Brief
Folio Brief is a weekly AI-written portfolio brief — connect Plaid, get a Friday-close email summarizing your holdings against the S&P 500 and NASDAQ.
Founder & Sole Engineer
2026
Problem
Investors check their portfolios obsessively but rarely sit with a structured weekly view. Brokerage dashboards optimize for trading, not reflection.
Solution
I built a multi-tenant weekly sender: Plaid Investments pulls live holdings, Yahoo Finance fills in quote data, an HTML email composes the week's percent change against benchmark indices, and Resend delivers every Friday at market close.
Impact
Live production since April 2026 — automated weekly send via launchd cron, zero missed sends. Single-operator infrastructure designed to scale without re-architecture.
Problem
Investors check their portfolios obsessively but rarely sit with a structured weekly view. Brokerage dashboards optimize for trading, not reflection. The week passes, the chart blurs, and there's no compiled artifact to look back on.
Build
- Vite + React + Tailwind v4 signup site at folio-brief.vercel.app — Plaid Link flow, holdings preview, email confirmation.
- Neon Postgres schema:
subscribers,subscriber_holdings,brief_sends. Plaid access tokens persisted server-side, scope locked toinvestments(read-only). - Multi-tenant sender (
send.mjs) loops active subscribers, batches Yahoo Finance quotes for distinct tickers, composes per-subscriber HTML, and delivers via Resend. - Friday 4pm ET cadence: launchd plist runs the send pipeline at market close so the brief captures the full trading week.
- DRY_RUN-first design: every run defaults to no-send unless
DRY_RUN=falseis set per send. All sends written tobrief_sendsfor full auditability.
Technical Signal
- Production multi-tenant SaaS shape — not a static demo, not a one-tenant prototype. Real subscribers, real cron, real money-adjacent data flowing through.
- Plaid integration designed for trust: read-only scope, sandbox-by-default, no trade-execution capability anywhere in the system.
- Single-binary scheduling: no Airflow, no managed cron, no Vercel cron. Just launchd and a versioned
.mjsscript — recoverable, observable, cheap. - Email composition is plain HTML with structured ticker tables — readable in any client, no marketing-template framework.
Current State
Sending every Friday at market close since April 2026. Pipeline runs on Josh's laptop via launchd. Plaid is in sandbox mode for now; production flip requires explicit per-send authorization. Subscriber base is intentionally small while the brief format settles.
Why It Matters
Personal infrastructure that compounds. Folio Brief is the smallest interesting shape of a real product: a backend that runs on a schedule, talks to two external APIs, persists state, and delivers a useful artifact to a recipient every week without manual intervention. The same architecture extends to any "weekly digest" product — sports, news, fitness, learning.