The Bifurcated Pipeline: Heuristics + LLMs
You don't need an LLM for every import. We run the heuristic first. Only when confidence is below 0.9 and the feature is enabled do we send headers and three sample rows to an API. The rest—synonym-based m...
The Privacy Gap: Why sending financial ledgers to OpenAI is broken
Financial data is the most sensitive data users own. Transaction histories, account balances, and position-level detail are the crown jewels of personal finance. Sending raw ledgers...
Building Local-First: The Browser as the Server
Your users' trade history shouldn't touch your server. We run the entire import pipeline in the browser. File read, CSV parse, heuristic mapping, and—when heuristics aren't confident enough—only heade...
Why We Bet on CSV over APIs
Integrating Plaid—or any broker API—is a nightmare. OAuth changes, rate limits, schema updates, deprecations, or the provider shutting the integration down. Every integration is a long-term liability. A small team cannot...
The Fragmentation Problem: Why Financial Data is Broken
Every broker has a different CSV format. "Deal Date" vs "Trade Date" vs "Execution Date." "Epic" vs "Symbol" vs "Ticker." Supporting one broker means writing a parser; supporting ten means mai...
Building a Sovereign Portfolio Risk Calculator: Why We Ditched the Backend
Client-side financial modeling. React risk calculator. TypeScript finance tooling.
This post is about why we deliberately killed the backend for portfolio risk analysis — a...
We stopped reading the news. We built an AI to read it for us. Meet Pulitzer v2
Last week, we open-sourced our editorial team:
Read the original post: “Meet Pulitzer”LINKTOCODERLEGIONPOST1
Today, I want to talk about why we handed the keys to ...
We open-sourced our editorial team. Meet Pulitzer.
Fellow builders,
We all hate SEO spam. You know the type:
“How to install Node.js” articles written by bots that have never opened a terminal.
We built a system to kill the noise.
We call it...
Stop building fintech with databases. Why I went local-first for Pocket Portfolio.
For the last decade, building a fintech app meant one architecture: a centralized PostgreSQL database, a backend in Node or Python, and an API that hoards user data....
CSV Hell: How I Normalized 15 Broker Exports into a Single Local-First Schema
If you have ever tried to build anything on top of retail investing data, you already know the truth:
Every broker CSV export is garbage.
Not a bit inconsistent.
Not ...
CI/CD That Ships Itself: Our GitHub Actions Blueprint
Pocket Portfolio — 12 Weeks of Shipping
Fast releases are only useful if they are consistent and safe.
This post breaks down Pocket Portfolio’s CI/CD pipeline on GitHub Actions: how we lint,...
Designing Trust: UX Principles in Fintech Apps
Pocket Portfolio — 12 Weeks of Shipping
Fintech apps don’t just handle data — they handle belief.
If users don’t trust the interface, they won’t trust the numbers behind it.
That’s why trust desi...
Modern React Patterns for Financial Dashboards
Week 4 of Pocket Portfolio — 12 Weeks of Shipping
Financial dashboards are one of the hardest React interfaces to build well.
They demand low latency, precise state management, and composable layou...
Rebuilding Pocket Portfolio: Next.js 14 + Firebase + Edge
The practical bits that made “never 0.00” possible
Pocket Portfolio’s Beta just levelled up — rebuilt for speed, reliability, and developer joy.
Why Rebuild
Goal: make “never 0.00” pric...
Discussion: Open-source is eating fintech. Which project best embodies transparency in finance — and why?
I’m kicking off a thread to collect real examples where open-source has raised the bar on financial transparency — from data provenance and a...
Realised vs Unrealised P/L — Money in Your Pocket vs Money on Paper
Most investors check their portfolio and see numbers changing every day — but not all those gains or losses are real.
Let’s clear that up.
The Simple Truth
Realised Profit/L...
Devlog: Extracting Provider Logging into a Shared Module so both quote and health APIs stay in sync
> Stack: React + Vite SPA, Firebase Auth/Firestore, Vercel Edge quote + health functions.
> Story: “As a developer I want the provider logging logic...