Writing
Blog
Thoughts on software architecture, AI, algorithmic trading, investing, and building for the long term.
Building a Desktop Receipt Pipeline: Tesseract, Local LLMs, and Hybrid Extraction in PyQt6
A walkthrough of stitching Tesseract OCR, a local NuExtract-tiny model, and a DeepSeek fallback into a PyQt6 desktop app. Threading, fuzzy business matching, and the hybrid extraction architecture.
Event Sourcing a Backtest Engine: Why SQLite Beats Logfiles for Reproducibility
The BMad Method: A Structured Development Methodology for AI-Assisted Coding
Four phases, one rule: never ask an AI to code what it cannot describe. How the BMad Method (Build More Architect Dreams) keeps AI collaboration structured, auditable, and actually productive. Docs: docs.bmad-method.org
Building a Weekly Meal Pipeline: Scraper, LLM Vision, and Automated Meal Plans
How I built an automated pipeline that scrapes 3 grocery circulars, analyzes 44 images with Gemini, generates Ricardo-style weekly menus, and pushes everything to a web dashboard — saving hours every week.
OCR Extraction Benchmark: DeepSeek API vs NuExtract-tiny vs Tesseract
I built a benchmark to compare three approaches for structured data extraction from Quebec receipts. Here's what 18 synthetic receipts across 15 professions revealed about accuracy, speed, and cost.
The BMAD Method: A Structured Approach to AI-Assisted Development
I run 17 projects with AI assistance. Without a structured methodology, every session was a fresh start. The BMAD Method changed that — here is how a 4-phase workflow turned AI from a coding autocomplete into a true development partner.
Sparkle-Style Auto-Updates for PyQt6 Desktop Apps
I built a cross-platform auto-update system for PyQt6 that mirrors Sparkle's appcast pattern. Ed25519-signed XML feeds, QThread-based background checks, and the same installer plumbing on Windows, macOS, and Linux.
Building a Weekly Meal Pipeline
How I built an automated pipeline that scrapes 3 grocery circulars, analyzes 44 images with Gemini, generates weekly menus, and pushes to a web dashboard.
OCR Extraction Benchmark
I built a benchmark to compare three approaches for structured data extraction from Quebec receipts.
How I Used Impeccable Design Language for AI to Design My Personal Site
One pass with Impeccable’s flow gave my AI a permanent design spec. No more re-explaining, no style drift. here’s how and what to do first.
Building Sovereign AI Infrastructure: Why I Moved Everything Off the Cloud
After years of relying on cloud APIs, I built a fully self-hosted AI stack. Here's what I learned, what I use, and why sovereignty matters more than convenience.
Systematic Trading is Not Gambling — It's Engineering
Most people confuse algorithmic trading with speculation. Here's how I think about it as a software architect: hypothesis, test, deploy, monitor.