Atharv Dange's Blog - Articles on JavaScript, Web Fundamentals, and Systems Engineering
$ls blog/
Writing on JavaScript & Web fundamentals, frameworks, tools and software engineering and things I figure out while building.
Continuing to build a client-side router from scratch. This post covers what happens after the basics: how nested routes keep your navbar mounted across navigations, why the Outlet pattern is just a context counter, and how data loaders flip fetch-on-render into render-as-you-fetch with parallel execution and race condition guards.
I'm building a client-side router from scratch to understand what React Router and TanStack Router do under the hood. This post walks through what I've found so far: the History API that makes navigation work without reloads, why useState breaks in concurrent mode, how route patterns become regex, and the `useSyncExternalStore` hook that ties it all together.
Traditional sitemap generators break on React, Next.js, and Vue apps. I built one from scratch that handles Clerk auth loops, redirect oscillations, and framework-specific rendering - and audited it three times to find out how wrong my initial assumptions were.
A from-first-principles case study on all five web rendering strategies - Static Site Generation, Server-Side Rendering, Client-Side Rendering, Incremental Static Regeneration, and Partial Pre-Rendering - built with zero frameworks using Node.js's built-in http module.
A deliberately flawed JWT auth system, designed as a teaching exercise to surface the security holes, race conditions, and missing edge cases that survive a first-pass auth design.
Node.js is more than just 'JavaScript on the server.' It's a carefully assembled runtime built on top of battle-tested components that make non-blocking I/O possible. This post breaks down how those components fit together, what they actually do, and why the design choices matter.
How chai-wind works, covering DOM scanning, inline style injection, multi-property parsing, MutationObserver-based dynamic watching, and a runtime class registration API, all built without a bundler, build step, or stylesheet.