Engineering notes
Highlights
03

Measure Before You Optimize: The Deploy Got Faster, Just Not From the Idea I Expected
I set out to speed up a micro-frontend deploy pipeline by shipping each Remote on its own. Replaying the last 24 real deploys locally showed that idea saving 6.5%, while two boring changes, one measured locally and one estimated, account for most of the expected time win. The ambitious idea pays off in release safety.
ci-cd / devops / performance / software-architecture

The Query Got Faster—and the Result Became Wrong
A real PostgreSQL case where a convincing EXPLAIN ANALYZE led to a faster rewrite that silently changed the result—and what I now validate before accepting a query optimization.
database / performance / postgresql / testing

Before You Add Another Index: Understand the Work Your Query Requests
How query shape, access paths, and cardinality estimates interact, and how to use execution plans to decide whether to rewrite SQL, change an index, or investigate statistics.
backend / database / performance
Notes
October 2026
September 2026
- September 24, 202610 min read
The Query Got Faster—and the Result Became Wrong
A real PostgreSQL case where a convincing EXPLAIN ANALYZE led to a faster rewrite that silently changed the result—and what I now validate before accepting a query optimization.
database / performance / postgresql / testing
- September 14, 202611 min read
Before You Add Another Index: Understand the Work Your Query Requests
How query shape, access paths, and cardinality estimates interact, and how to use execution plans to decide whether to rewrite SQL, change an index, or investigate statistics.
backend / database / performance
July 2026
- July 30, 20267 min read
Monoliths vs Microservices: Follow One Order Across the Boundary
Microservices relocate complexity rather than remove it. Following a single order, with stock and payment, from one database transaction to three services shows where that complexity goes and when it is worth paying for.
backend / software-architecture / system-design
- July 29, 20269 min read
Designing a URL Shortener: The Hard Requirement Is Taking a Link Down
A URL shortener is a classic system design exercise because its read path wants caching everywhere while abuse handling needs to revoke a link at once. Working through capacity, identifiers, caching, redirects and global traffic with that tension in mind.
backend / software-architecture / system-design
- July 15, 20264 min read
Why I Changed My Portfolio UI Into a Systems Journal
My portfolio worked and looked polished, but it presented me as a set of technologies and cards. The redesign reorganized it around engineering decisions and measured outcomes. What changed, why, and how I plan to check whether it actually helps readers.
career / software-architecture
- July 13, 20267 min read
What Makes a Codebase AI-Friendly?
A coding agent produced a change that was locally reasonable and globally wrong. Improving the prompt fixed it once. Moving the missing knowledge into the repository, as discoverable references, official commands and executable rules, addressed the kind of mistake rather than one instance of it.
ai / developer-experience / software-architecture
- July 8, 20267 min read
GitHub Actions Beyond Basic CI: The Trigger Decides Whose Code Runs With Your Secrets
GitHub Actions is a repository-native automation platform, and that makes every workflow a trust decision. How events, token permissions, OIDC and pinned actions shape what a workflow can do, and how to tell which automation belongs in a workflow at all.
ci-cd / devops / github-actions
- July 6, 20266 min read
When LIMIT/OFFSET Stops Working: Choosing Between Offset and Cursor Pagination
Pagination shrank the response of a large report, but not the database work behind deep pages. Why OFFSET still pays for every skipped row, how a keyset cursor avoids that, and the details that decide whether the cursor actually uses the index.
backend / database / performance
- July 3, 20268 min read
From a Bash Loop to Guarded Orchestration for AI Agents
My AI workflow had careful task plans and a careless execution layer: an agent with bypass flags running against my live checkout. The guarded runner I built puts each task in a disposable container and brings work back only as Git patches. What it protects against, what it does not, and what the tests actually prove.
ai / devops / workflow
- July 2, 20266 min read
From Prompting to Process: How AI Is Improving My Workflow Methodology
During a short break from my master's, I rebuilt my engineering workflow around reusable skills, project memory files, PRDs and task plans. What the session history and task summaries show about it, what they do not show, and what is still rough.
ai / software-architecture / workflow