siftdo.com

How we built Sieve: a 6-stage transaction classifier that runs entirely on your device

Sieve is the classification engine inside SiftDo. It categorizes your bank transactions with 99%+ accuracy, runs entirely in-process — no network calls, no cloud API — and works in both a web browser and an iOS WKWebView. Here's how it's built.

Local-first personal finance: why we chose IndexedDB + iCloud over a backend

SiftDo has no app server. Your transactions live in IndexedDB on your Mac or Windows PC, in Core Data on iPhone, and sync through your personal iCloud — end-to-end encrypted, never touching our infrastructure. Here's the architecture and the trade-offs.

Parsing 30 bank CSV formats: what we learned

Every US bank exports transaction CSVs differently. We've hand-built parsers for 30 of them — and along the way found BOM characters that break most parsers, banks that put debit and credit in separate columns, headerless formats, and summary rows disguised as data. Here's what the format zoo looks like.

Building SiftDo with AI: 1,400+ tests, shipped in weeks

SiftDo is a solo project. Mac app, Windows app, iPhone app, a website, a Cloudflare Worker backend, a TypeScript ML package — all of it written primarily with Claude Code. Here's an honest account of what that workflow looks like.