Writing

Mostly about backend engineering, AI systems, and things I figured out the hard way in production.

·9 min read

Building a Conversational AI Assessment Agent: What I Learned From Screenr

When I started building Screenr, I thought the hard part would be the LLM prompting. It wasn't. The hard part was making the system feel like a real conversation — one that remembers context, adapts mid-interview, and doesn't collapse when a candidate does something unexpected.

AITypeScriptArchitectureBackend
·7 min read

From "Why Bother?" to "I'll Never Write It the Other Way": DI, Repository Pattern & Adapter Layers in TypeScript

When I first joined a production TypeScript backend that used dependency injection and a strict adapter layer, my reaction was: why is there so much ceremony for what's basically just fetching data? Six months later I'm the one pushing for these patterns on new projects.

TypeScriptPatternsBackend
·7 min read

Stop Reaching for Kafka. Your Postgres Is Already a Queue.

Every time two services need to talk, someone in the architecture meeting says 'Kafka.' Then you're running a broker cluster, managing consumer groups, dealing with schema registries — for what is fundamentally a row change between two databases. We didn't use one.

PostgreSQLArchitectureBackend
·3 min read

Why Rust Disables Integer Overflow Checks in Release Mode

Rust checks for integer overflow in Debug mode — then turns those checks off in Release mode. Same code, two completely different outcomes at runtime. Here's why Rust does this, and how removing a single branch inside a tight loop unlocks massive performance gains.

RustPerformanceSystems
·3 min read

Ethereum's Pectra Upgrade

Coming back to my staking project after a break, I found the Ethereum ecosystem had moved. Pectra brings account abstraction so users pay gas in USDC, validator limits up to 2048 ETH, flexible withdrawals, and Verkle Trees.

EthereumBlockchainStaking
·2 min read

EIP-2771 — New Era of Transactions

Everyone in the world needs Ether to send Ethereum transactions — a real barrier for new users. Gasless transactions let users interact with dApps without buying ETH first. EIP-2771 is the standardized approach.

EthereumEIP-2771Gas