Blog
Technical deep-dives, architecture patterns, and the occasional life update. Written as working notes -- refined over time, not polished on arrival.
Title
Tags
Date
Building a Production CLI Tool in Rust From Scratch
From cargo init to a polished, distributable binary -- every decision, trade-off, and lesson learned along the way.
Feb 15, 2026
Node.js Streams: The Complete Mental Model
A practical guide to understanding Readable, Writable, Transform, and Duplex streams without drowning in abstraction.
Feb 8, 2026
Event Sourcing: When It Makes Sense
Event sourcing is powerful but not always the answer. Here's a framework for deciding when the complexity is justified.
Jan 28, 2026
Docker Multi-Stage Builds for Node.js
How to cut your container image size by 80% with multi-stage builds, and the gotchas nobody warns you about.
Jan 20, 2026
REST API Design: Principles I Actually Follow
After building dozens of APIs, these are the conventions I've kept, the ones I've dropped, and why pragmatism beats purity.
Jan 10, 2026
A Year of Remote Work: Honest Reflections
What changed about my productivity, relationships, and mental health after twelve months of working from home.
Jan 12, 2026
Learning in Public: A Developer's Field Guide
Why broadcasting your learning process is the most underrated career accelerator in software engineering.
Dec 28, 2025
Microservice Boundaries: Finding the Right Seams
A practical approach to decomposing monoliths that doesn't start with "draw a domain model on a whiteboard."
Dec 15, 2025
Showing 8 of 8 posts. Posts are sorted by most recent. Use the filter buttons above or the sidebar tree to browse by category.