Loading...
Practical notes from projects I've built, decisions I've had to make, and lessons learned along the way. I write about engineering fundamentals, modern front-end work, and new tools I'm exploring with a hands-on mindset.
All posts · 30 posts
6 min read
An audit checks known advisories in your lockfile. A useful dependency review also checks release risk, install scripts, maintenance, and whether the fix actually works.
5 min read
Big O describes how an algorithm's cost grows relative to input size. It says nothing about raw speed. Understanding that gap is what separates useful intuition from flawed optimization decisions.
3 min read
How I designed a clean blog architecture with Markdown-first content, server-side syntax highlighting, and room to scale.
7 min read
Data structures are design choices, not collectibles. Arrays, Sets, Maps, and Heaps each answer a different question, and YAGNI helps you stop at the simplest one that fits.
5 min read
AI can read a diff all day. It still can't talk to your team. Code review is where engineers actually learn from each other, and that part doesn't survive full automation.
5 min read
Why strong engineers think beyond tickets and pixel-perfect output to focus on business value, collaboration, and solving the right problem.
6 min read
Formatters and linters reduce code review noise, catch real mistakes, and make teams faster. Oxfmt and Oxlint push that workflow toward simpler, faster defaults.
6 min read
Breaking down the five core properties every distributed system is measured against: scalability, reliability, availability, efficiency, and manageability.
8 min read
How load balancers work, where they sit in a distributed system, and the nine algorithms that determine how traffic gets distributed.
7 min read
How caching improves resource utilization and how data partitioning enables horizontal scaling, plus the tradeoffs and constraints that come with each approach.
8 min read
Retries are unavoidable in distributed systems. Idempotent API design keeps those retries from creating duplicate payments, orders, and jobs.
5 min read
Indexes speed up data access. Proxies shape how requests reach services. Together they show a common system design tradeoff: add a layer, reduce a more expensive cost.