Technical essays

The Rendered Soul

…even life needs a re-render sometimes

Thoughts on web platforms and application architecture, from UI systems and APIs to performance, tooling, and scale.

Standard Schema: The TS Validation Babel Fish

Standard Schema has emerged as one of those elegant solutions that makes you wonder why we didn’t have it sooner. Released in Jan, it’s already making waves across the TypeScript ecosystem by providing a unified interface for schema validation libraries. The Validation Tower of Babel Before diving into Standard Schema, we shall briefly recall the state of validation in the TypeScript world. We’ve had a proliferation of excellent libraries: Zod with its robust type inference and composable API Valibot optimized for bundle size ArkType focusing on performance Yup as the veteran in the space io-ts with its functional approach Superstruct, TypeBox, and many others Each has its strengths, trade-offs, and passionate fan bases. But this diversity created a problem: tools and frameworks that accept schemas (like form libraries, API frameworks, or ORM query builders) had to either: ...

March 1, 2025 · 5 min · 1061 words

Advanced Patterns for Production-Ready SSE (continued)

Last June, I wrote “The Quiet Power of Server-Sent Events for Real-Time Apps” where I sang the praises of SSE as a lightweight alternative to WebSockets for many real-time scenarios. While the simplicity of SSE remains one of its greatest strengths, that simplicity can be deceptive. A naive implementation might work perfectly in development but crumble under the harsh realities of spotty connections, aggressive proxies, and browser quirks. Let’s dive into the techniques that transform fragile SSE connections into resilient data pipelines. ...

January 30, 2025 · 9 min · 1765 words

Svelte 5: The Comeback Story of a Revolutionary Framework

Back in early 2020, I wrote a blog post titled “Svelte 3: The Compiler as Your Framework”. Like many developers at the time, I was blown away by Rich Harris’s compiler-centric approach that promised to solve the virtual DOM overhead of React while offering a delightfully simple developer experience. The “write less code” mantra resonated with me, and for a handful of smaller projects, Svelte proven to be beyond useful. But then, as projects grew more complex and team considerations came into play, Svelte gradually slipped from my daily toolkit. The ecosystem wasn’t quite there yet. Component libraries were sparse compared to React’s thriving marketplace. Finding developers experienced with Svelte was challenging. The “real world” pushed me back toward React and occasionally Vue for client work. ...

November 16, 2024 · 8 min · 1586 words

When tRPC Might Not Be Your Best Bet: Adverse Cases for Choosing Alternatives

For web eng friends who are building TypeScript full-stack applications, chances are you’ve either used tRPC or had it enthusiastically recommended to you. And for very good reasons: tRPC has revolutionized how we build type-safe APIs, eliminating the schema definition/code generation dance that plagued earlier approaches. I’ve been a happy tRPC user since v9, and I’m not here to convince you to abandon it. The developer experience benefits are real. End-to-end type safety without code generation, excellent editor autocomplete, and runtime validation that just works. Plus, as the latest StackOverflow survey indicates, TypeScript developers continue to command higher salaries than their JavaScript counterparts. ...

September 27, 2024 · 5 min · 1011 words

Building an Interactive Code Syntax Highlighter with HTMX vs React

The debate between “traditional” JavaScript frameworks like React and emerging HTML-centric approaches like HTMX has been heating up in recent months. Rather than adding to the noise with abstract comparisons, I decided to build the same interactive component using both technologies to see how they really stack up in practice. The Toy Project: An Interactive Syntax Highlighter For this comparison, I wanted something more interesting than the usual todo app, but still focused enough to make a fair comparison. I settled on creating an interactive code syntax highlighter with the following features: ...

August 2, 2024 · 7 min · 1394 words

Web Apps architecture without the hand-waving.