Blog
Latest · August 24, 2026
Owning a Problem End to End: What Product Engineering Actually Feels Like
A follow-up to the scoping decision from last post - the fuller picture of how that feature came together, from requirement gathering through a design reframe to what actually shipped.
August 3, 2026
The 15 Minutes That Saved Me From a Vendor-Coupled Service
A practical walkthrough of applying the Dependency Inversion Principle at an OCR provider boundary, before the coupling got expensive to undo.
August 3, 2026
The Hidden Assumption That Almost Shipped: Passenger Count Isn't Voucher Count
A one-click Excel export replaced a manual, error-prone process, but only after a wrong assumption about how meal vouchers actually work got caught in review.
August 3, 2026
Reading a Passport Like a Standard, Not a Screenshot
How the ICAO 9303 Machine Readable Zone format turned a fragile OCR-to-data problem into a deterministic parsing problem.
August 3, 2026
YAGNI Isn't 'Don't Plan Ahead': It's 'Don't Pay for a Guess'
A one-line code review comment turned an internship 'good architecture' instinct into a lesson about the real cost of premature structure.
July 9, 2026
Scope the Smallest Thing That Removes the Pain
YAGNI isn't just a code-structure principle - it applies to entire features too. How a full workflow automation design got scoped down to a single export feature, and why that was the right call.