
4 Hard-Won Lessons From Implementing Passkeys in a Legacy Auth Flow
Replacing passwords isn't just about calling a browser API—it's about rethinking your entire account recovery strategy for a world without shared secrets.
Articles, guides, and thoughts on web development and technology

Replacing passwords isn't just about calling a browser API—it's about rethinking your entire account recovery strategy for a world without shared secrets.

A deep dive into why tethering elements to each other no longer requires a 20kb JavaScript dependency or complex resize observers.

I stopped waiting for 200 OK responses and started building apps that feel like local software, even when the internet disappears.

Discover how the new native Top Layer API renders years of z-index battles and complex React portal workarounds completely obsolete.

Stop wrestling with laggy scroll event listeners and Intersection Observers by offloading your scroll-linked UI logic to the browser's native animation engine.

Stop wrestling with messy state hooks and learn how I moved from clunky API calls to a fluid, generative chat experience using the latest streaming patterns.

Stop letting jarring page jumps kill your user's flow; here’s how I finally bridged the gap between instant navigation and cinematic continuity.

Your memory usage is spiking because you're treating streams like collections instead of conduits, and it's time to fix the plumbing.

Stop using the viewport as a proxy for component size and start building modular UI that actually handles its own responsiveness.

Stop letting erratic token bursts ruin your user experience with a dive into state batching and partial-content rendering strategies.