Atharv Dange's Blogs - Articles on JavaScript, Web Fundamentals, and Systems Engineering
$ls blogs/
Writing on JavaScript & Web fundamentals, frameworks, tools and software engineering and things I figure out while building.
- Updated October 15, 2026·22 min read
A from-first-principles case study on 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.
- Updated October 12, 2026·15 min read
What I learned building Mekiki, my first AI agent: an npm package advisor that kept giving wrong answers. Each time, the traces showed the model doing its best with bad input, a missing date, or a rule I had written badly.
- September 23, 2026·19 min read
A concept by concept walkthrough of what happens inside a modern LLM: tokenization, embeddings, RoPE, attention, induction heads, multi-head attention with GQA, the feed-forward network, residual streams, and next-token prediction. Written up after working through the mechanics until every piece made sense.
- September 7, 2026·14 min read
Two slices that teach the rest of the system to read the route tree slice 8 turned into the single source of truth. Slice 9 makes the type system check every path and param at compile time. Slice 10 replaces order-dependent first-match matching with a specificity score, so the right route wins no matter how the tree is written.
- July 22, 2026·19 min read
Two slices, one underlying idea: stop hand-maintaining information that already lives somewhere else. Search params turn the URL into a typed, first-class data source instead of a string every component re-parses. Codegen turns the routes folder into the single source of truth for the route tree, instead of a hand-wired array someone has to keep in sync by hand.
- July 12, 2026·13 min read
Two problems that show up once a router has real users hitting it: what happens when one route breaks, and what happens while a user is deciding whether to click. This post covers building per-route error boundaries with two separate error channels, and prefetch on hover that reuses the exact same loader pipeline instead of building a second one.
- June 16, 2026·17 min read
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.
- June 12, 2026·13 min read
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.
- June 10, 2026·13 min read
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.
- Updated May 17, 2026·7 min read
A clear breakdown of monorepos - what they are, the problems they solve and create, and how Turborepo fixes caching.
- Updated May 16, 2026·9 min read
Step-by-step guide to setting up a monorepo with pnpm workspaces and Turborepo. Includes shared packages, and common mistakes.
- Updated May 9, 2026·5 min read
Learn how Express middleware works, what next() does, the types of middleware, auth, and validation.
- Updated May 9, 2026·4 min read
Learn how JavaScript destructuring works for arrays and objects. Includes clear before/after comparisons.
- Updated May 9, 2026·6 min read
Learn why Node.js handles high concurrency so effectively, and where Node.js performs best in real-world applications.
- Updated May 9, 2026·5 min read
Learn how to design a REST API in Express.js using resources, HTTP methods, proper route naming, and status codes.
- Updated May 9, 2026·5 min read
Learn the difference between blocking and non-blocking code in Node.js, and DB calls keep your server responsive.
- Updated May 9, 2026·6 min read
Understand how the Node.js event loop works with clear diagrams covering the call stack, and why it makes Node.js scale.
- Updated May 8, 2026·5 min read
Learn how multer handles multipart/form-data in Express. Covers single and multiple file uploads, file validation, and serving uploaded files.
- Updated May 8, 2026·5 min read
Learn how to store uploaded files with multer, serve them as static assets with express.static, and apply security best practices for file uploads.
- Updated May 8, 2026·5 min read
earn what Node.js is, how it lets JavaScript run on servers, what V8 and libuv do, and why developers adopted it over PHP and Java.
- Updated May 8, 2026·5 min read
Learn how JWT authentication works in Node.js from login to protected routes.
- Updated May 8, 2026·4 min read
Learn how to create an Express.js server, define GET and POST routes, handle request params and body, and send correct HTTP responses.
- Updated May 8, 2026·5 min read
Learn the difference between JavaScript's spread and rest operators. Same syntax, opposite behavior.
- Updated May 8, 2026·4 min read
Learn how to install Node.js, use the REPL, run your first script, and write a Hello World HTTP server from scratch. A beginner-friendly, framework-free guide.
- Updated May 7, 2026·5 min read
Learn how Node.js handles thousands of concurrent requests using a single thread, the event loop, and libuv's thread pool.
- Updated May 7, 2026·5 min read
Learn the difference between URL parameters and query strings in Express.js, how to access them with req.params and req.query.
- Updated May 6, 2026·7 min read
Understand the real differences between session-based auth, JWT, and cookies in JavaScript.
- Updated May 6, 2026·4 min read
Learn how JavaScript template literals fix string concatenation problems with interpolation, multi-line support, and tagged templates.
- Updated May 6, 2026·4 min read
Learn what nested arrays are, why flattening matters, and how to flatten arrays in JavaScript using flat(), reduce, and recursion
- Updated May 6, 2026·7 min read
Learn how JavaScript modules work, the difference between default and named exports, and why modular code makes your projects easier to maintain and scale.
- Updated May 5, 2026·8 min read
Learn how async code works in Node.js, why callbacks exist, the callback hell problem, and how promises solve it with cleaner chaining and error handling.
- Updated April 21, 2026·10 min read
A deep dive into the Linux file system and how Linux actually works.
- Updated April 20, 2026·6 min read
Learn exactly what the `new` keyword does in JavaScript, from creating objects and binding `this` to linking prototypes and returning instances.
- April 18, 2026·19 min read
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.
- Updated April 16, 2026·8 min read
Learn when and how to use JavaScript's Map and Set data structures.
- Updated April 15, 2026·6 min read
Learn JavaScript string methods, understand why polyfills are written, build simple string utilities, and prepare for common interview string problems.
- April 15, 2026·23 min read
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.
- Updated April 14, 2026·6 min read
Learn what callbacks are in JavaScript, why they are used in asynchronous programming, and why callback nesting became a problem.
- Updated April 11, 2026·6 min read
Learn async/await in JavaScript with beginner-friendly examples. Understand async functions, await, error handling, promises, and cleaner asynchronous code.
- Updated April 10, 2026·8 min read
Learn the fundamental difference between synchronous and asynchronous JavaScript with real-world examples, visual diagrams, and practical code samples.
- Updated April 9, 2026·9 min read
Learn how JavaScript error handling works from the ground up.
- Updated April 7, 2026·7 min read
Learn what JavaScript Promises are, how they work, and why they replaced callbacks.
- March 22, 2026·17 min read
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.
- Updated March 15, 2026·6 min read
A complete guide to how `this` behaves in every Node.js context, from top-level module scope to classes and arrow functions.
- Updated March 11, 2026·10 min read
Learn OOP in JavaScript from scratch. This guide covers classes, constructors, methods, encapsulation, and code reusability.
- Updated March 11, 2026·7 min read
Learn how `this` works in JavaScript and how to control it using call(), apply(), and bind().
- Updated March 9, 2026·6 min read
Learn how JavaScript objects work, from creating your first object to looping through keys.
- Updated March 9, 2026·7 min read
Learn the six essential JavaScript array methods with practical examples, before-and-after comparisons, and a hands-on assignment.
- Updated March 8, 2026·6 min read
Learn JavaScript arrays from scratch. This beginner-friendly guide covers creating arrays, accessing elements by index, and clear code examples and diagrams.
- Updated March 3, 2026·7 min read
Learn how JavaScript arrow functions work, from basic syntax to implicit returns. Beginner-friendly guide with practical examples.
- Updated March 1, 2026·7 min read
Learn the difference between function declarations and function expressions in JavaScript, including hoisting behavior, syntax comparison, and when to use each.
- Updated February 28, 2026·16 min read
Master JavaScript Promises to handle async code gracefully. Learn about .then(), .catch(), Promise.all, and callback hell through real-life analogies.
- Updated February 27, 2026·10 min read
Learn how to manage control logic in JavaScript using if, else, and switch statements. A deep dive with exact real-life analogies and detailed code examples.
- Updated February 26, 2026·7 min read
Learn how JavaScript operators work, including arithmetic, comparison, logical, and assignment operators.
- Updated February 25, 2026·10 min read
Learn how to declare variables with var, let, and const, understand all 7 primitive types, and explore objects, arrays, and functions.
- Updated February 23, 2026·10 min read
Master JavaScript prototypes, understand call/apply/bind, and build spec-compliant polyfills for array methods like map, filter, and reduce.
- Updated February 21, 2026·19 min read
Design bulletproof idempotent APIs that prevent duplicate requests and handle race conditions. Complete guide with Redis, PostgreSQL & distributed locks.
- Updated February 21, 2026·8 min read
A deep dive into JavaScript hoisting covering var, let, const, function declarations, and the temporal dead zone. Understand what hoisting actually is and common misconceptions.
- Updated February 21, 2026·13 min read
Deep dive into JavaScript engine internals - learn how V8, SpiderMonkey, and JavaScriptCore parse, compile, and execute your code with JIT optimization, garbage collection, and memory management
- Updated February 21, 2026·4 min read
Learn about different JavaScript engines like V8, SpiderMonkey, JavaScriptCore, Chakra, Hermes, Rhino, and JerryScript. Understand how they work and which one powers your code.
- Updated February 21, 2026·8 min read
How I built a custom PDF text extraction and rendering system in bare React Native using Kotlin native modules when every existing library failed to provide proper dark mode support.
- Updated February 21, 2026·6 min read
Master CSS selectors from element and class selectors to IDs and descendant selectors. Learn how to precisely target HTML elements with clear examples and understand selector specificity.
- Updated February 21, 2026·5 min read
Master Emmet abbreviations and shortcuts to write HTML faster. Learn basic syntax, nesting, classes, and boilerplate generation for efficient web development.
- Updated February 21, 2026·10 min read
Learn the fundamentals of HTML tags and elements, including the difference between tags and elements, block vs inline elements, and the most commonly used HTML tags with practical examples.
- Updated February 21, 2026·11 min read
Learn how browsers transform URLs into web pages. Understand DOM creation, CSSOM, rendering pipeline, and performance optimization in this beginner-friendly guide.
- Updated February 21, 2026·6 min read
Learn the practical differences between TCP and UDP protocols, when to use each, and understand how HTTP actually runs on top of TCP in the networking stack.
- Updated February 21, 2026·8 min read
Learn how TCP ensures reliable, ordered data transfer over the internet using the 3-way handshake, sequence numbers, and acknowledgements.
- Updated February 21, 2026·6 min read
Learn how DNS translates domain names to IP addresses using dig commands. Explore root servers, TLD servers, and authoritative nameservers with practical examples.
- Updated February 21, 2026·9 min read
Learn how DNS records work as the internet's address book. This beginner-friendly guide explains A, AAAA, CNAME, MX, NS, and TXT records without the technical jargon.
- Updated February 21, 2026·12 min read
Learn cURL from scratch with practical examples. Understand HTTP requests, responses, API testing, and common mistakes. Essential command-line tool for every developer.
- Updated February 21, 2026·17 min read
Learn how modems, routers, switches, firewalls, and load balancers work together to power modern internet infrastructure.
- Updated February 21, 2026·7 min read
Deep dive into fixing memory leaks, DoS vulnerabilities, and type safety issues in a TypeScript HTTP framework. Learn about systematic code review and security best practices.
- Updated February 21, 2026·6 min read
Understand how JavaScript automatically manages memory with heap/stack allocation and garbage collection. Learn mark-and-sweep algorithms, generational GC, and how to prevent memory leaks.
- Updated February 21, 2026·9 min read
Before version control systems like Git, developers used pendrives, email attachments, and folders named "final_v2_ACTUAL_FINAL". Discover why version control became essential for modern software development.
- Updated February 21, 2026·19 min read
Deep dive into Git's internal architecture. Learn how Git uses blobs, trees, and commits to track changes, what the .git folder contains, and what happens during git add and git commit.
- Updated February 21, 2026·9 min read
Learn Git fundamentals with this beginner-friendly guide. Understand what Git is, why it's used, and master essential commands like init, add, commit, and log with practical examples.
- Updated February 21, 2026·6 min read
A comprehensive walk through of my first webdev cohort orientation class where Piyush sir took us on an beautiful journey through Git fundamentals. Learn about the problems Git was created to solve, master essential commands like init, add, commit, reset, and revert, and peek inside the .git folder to understand how Git works internally with linked lists, objects, and refs.