Web Development
Node.js Deep Dive
26-module Node.js course for engineers - from V8 + libuv + the event loop through Express, databases, testing, security, deployment, microservices, advanced patterns, and a working Link-in-Bio capstone.
Node.js Deep Dive
This isn't an Express tutorial. It's a 26-module Node.js curriculum built around how Node is actually used in production - runtime fundamentals plus the depth most platforms never reach: the V8 / libuv / event-loop architecture, the module system from CommonJS to ESM, building HTTP servers from scratch before reaching for a framework, the Streams API as a paradigm not a footnote, the network APIs at the level senior engineers actually use them.
You'll work through the fundamentals (history, JavaScript refresher, internals, modules, HTTP from scratch, core APIs for file system / streams / network), the everyday tools (HTTP frameworks with Express and friends, databases, testing, debugging, performance), the production engineering depth (error handling and logging, security, building APIs, real-time applications, TypeScript), and the depth that separates mid from senior offers (deployment, microservices, tooling, advanced patterns, the 2026 ecosystem, interview prep) - closing with a dedicated capstone module that walks through building a complete Link-in-Bio production service end-to-end.
Every module and every topic in this course is free. The capstone deliverable (Fastify + Postgres + Redis + BullMQ) is checked into the repo alongside the lessons.
What you will learn
- Node.js fundamentals from the engineer's perspective — V8, libuv, the event loop, modules, packages
- Building HTTP servers from scratch and then with Express / Fastify
- The core APIs: file system, streams, network — used the way senior engineers use them
- Working with databases (PostgreSQL, Redis, MongoDB) and queues (BullMQ)
- Testing, debugging, profiling, and performance engineering in Node.js
- Production engineering: error handling, structured logging, security, deployment, observability
- Building production APIs (REST + GraphQL) and real-time applications (WebSocket, SSE)
- TypeScript in Node.js, microservices, advanced patterns, and the 2026 ecosystem
- Working capstone: a full Link-in-Bio service with Fastify, Postgres, Redis, BullMQ, Docker
Prerequisites
- Intermediate JavaScript familiarity (variables, async/await, modules)
Course outline
Module 1: Node.js History & Philosophy
Node.js History & Philosophy — 5 topics.
- Why This Course Exists, Why I'm Teaching It 7 min read
- Before Node: JavaScript in the Browser, Server-Side Stagnation 9 min read
- Ryan Dahl's 2009 Talk, and Why He Was Right 12 min read Pro lesson
- Node.js Today (2026): Where It Fits, Where It Doesn't 12 min read Pro lesson
- Setup: Installing Node, the REPL, the First Program 11 min read
Module 2: JavaScript Refresher for Node Developers
JavaScript Refresher for Node Developers — 6 topics.
- Closures, Really: In the Context of Node Callbacks 13 min read
- `this`, `bind`, `call`, `apply`: Node Patterns 11 min read Pro lesson
- Promises Under the Hood 13 min read Pro lesson
- async/await: The Syntactic Sugar With Sharp Edges 12 min read Pro lesson
- Modules History: A Brief Tour of How We Got Here 13 min read Pro lesson
- Iterators, Generators, Async Iterators 10 min read Pro lesson
Module 3: Node.js Internals: V8, libuv, the Event Loop
Node.js Internals: V8, libuv, the Event Loop — 8 topics.
- What Node.js Actually Is: The Anatomy of the Binary 11 min read Pro lesson
- V8: Google's JavaScript Engine 15 min read Pro lesson
- libuv: The C Library Underneath the Event Loop 12 min read Pro lesson
- The Event Loop: Phases in Detail 12 min read Pro lesson
- Microtasks, Macrotasks, process.nextTick 8 min read
- setTimeout vs setImmediate vs process.nextTick 8 min read Pro lesson
- The Threading Model: Single-Threaded User Code, Multi-Threaded Internals 9 min read Pro lesson
- Worker Threads: When JavaScript Itself Needs to Be Parallel 11 min read Pro lesson
Module 4: Modules & the Package Ecosystem
Modules & the Package Ecosystem — 7 topics.
- How `require` Actually Works: CommonJS Internals 9 min read Pro lesson
- How `import` Actually Works: ESM Internals 9 min read Pro lesson
- Interop: When CommonJS and ESM Coexist 8 min read Pro lesson
- The `package.json` Contract 7 min read Pro lesson
- npm, pnpm, and yarn: Choosing a Package Manager 6 min read Pro lesson
- Semver, Lockfiles, and Supply-Chain Safety 7 min read Pro lesson
- Native Modules and N-API: A Brief Tour 7 min read Pro lesson
Module 5: Building HTTP Servers from Scratch
Building HTTP Servers from Scratch — 5 topics.
- The Raw `http` Module: Building a Server With No Framework 8 min read Pro lesson
- Request and Response Lifecycle in Detail 9 min read Pro lesson
- Building Your Own Tiny Framework: Routing and Middleware 9 min read Pro lesson
- Express in Depth 9 min read Pro lesson
- Express vs Fastify vs Koa vs NestJS: Choosing a Framework 9 min read Pro lesson
Module 6: Core APIs: File System
Core APIs: File System — 5 topics.
- The fs Module: APIs and Tradeoffs 6 min read Pro lesson
- Reading and Writing Files 9 min read Pro lesson
- Working with Paths - the `path` Module 5 min read Pro lesson
- Directories and Metadata 7 min read Pro lesson
- File Watching: `fs.watch` and chokidar 5 min read Pro lesson
Module 7: Core APIs: Streams
Core APIs: Streams — 8 topics.
- The Streams Mental Model 7 min read
- Readable Streams in Detail 7 min read Pro lesson
- Writable Streams in Detail 6 min read Pro lesson
- Backpressure: The Core Problem Streams Solve 7 min read Pro lesson
- `pipe()` and `pipeline()` 5 min read Pro lesson
- Transform Streams and Stream Composition 6 min read Pro lesson
- Async Iterators on Streams 6 min read Pro lesson
- Production Patterns and Common Pitfalls 8 min read Pro lesson
Module 8: Core APIs: Network
Core APIs: Network — 5 topics.
- The `net` Module: TCP From Scratch 7 min read Pro lesson
- `dgram` - UDP 5 min read Pro lesson
- The DNS Module 6 min read Pro lesson
- HTTPS and TLS 7 min read Pro lesson
- HTTP/2 6 min read Pro lesson
Module 9: Building HTTP Servers, Continued
Building HTTP Servers, Continued — 5 topics.
- Streaming HTTP Responses 7 min read Pro lesson
- File Uploads in HTTP 7 min read Pro lesson
- Cookies, Sessions, and Authentication Concepts 8 min read Pro lesson
- CORS - the Actual Specification 8 min read Pro lesson
- Caching Headers and CDNs 8 min read Pro lesson
Module 10: Express.js and Web Frameworks
Express.js and Web Frameworks — 7 topics.
- Express: What It Is, What It Isn't 9 min read
- Routing in Express 6 min read Pro lesson
- Middleware in Express 7 min read Pro lesson
- Error Handling in Express 9 min read Pro lesson
- Templating and Rendering 6 min read Pro lesson
- Fastify, Koa, NestJS, Hapi - When to Pick Which 9 min read Pro lesson
- Building Production-Grade Express Apps 9 min read Pro lesson
Module 11: Working with Databases
Working with Databases — 8 topics.
- Connecting to a Database: the Driver Pattern 8 min read Pro lesson
- Connection Pooling: Why It Matters 10 min read Pro lesson
- PostgreSQL with `pg` 8 min read Pro lesson
- MySQL with `mysql2` 8 min read Pro lesson
- Prisma - ORM-Style With Type Safety 9 min read Pro lesson
- Drizzle, Knex, TypeORM - Alternatives 8 min read Pro lesson
- MongoDB with Mongoose 8 min read Pro lesson
- Redis: Caching and Beyond 10 min read Pro lesson
Module 12: Testing in Node.js
Testing in Node.js — 6 topics.
- The Testing Mindset: What to Test and Why 10 min read
- Node's Built-In Test Runner 8 min read Pro lesson
- Vitest, Jest, Mocha - The Alternatives 9 min read Pro lesson
- Mocking and Stubbing 10 min read Pro lesson
- Testing Async Code 10 min read Pro lesson
- Integration Testing with Real Databases 10 min read Pro lesson
Module 13: Debugging & Profiling
Debugging & Profiling — 6 topics.
- The Debugger: Inspector Protocol 9 min read Pro lesson
- Debugging Async Code 9 min read Pro lesson
- Memory Leaks: Finding and Fixing 11 min read Pro lesson
- CPU Profiling 10 min read Pro lesson
- Diagnostic Reports and Async Hooks 9 min read Pro lesson
- Debugging in Production Safely 10 min read Pro lesson
Module 14: Performance Engineering
Performance Engineering — 6 topics.
- Performance Mindset for Node 10 min read Pro lesson
- Common Node Bottlenecks 9 min read Pro lesson
- GC Tuning and Memory 8 min read Pro lesson
- Scaling: Cluster, Worker Threads, or Scale Out? 9 min read Pro lesson
- Caching Strategies 10 min read Pro lesson
- Database Query Optimization for Node Services 10 min read Pro lesson
Module 15: Error Handling & Logging
Error Handling & Logging — 5 topics.
- Error Handling Discipline 10 min read Pro lesson
- Promises, async/await, and Unhandled Rejection 9 min read Pro lesson
- Uncaught Exceptions and Crash Strategy 10 min read Pro lesson
- Structured Logging: Pino, Winston, and Patterns 9 min read Pro lesson
- Observability: Metrics, Traces, Logs Together 11 min read Pro lesson
Module 16: Security
Security — 6 topics.
- Input Validation: Zod, Joi, and the Principle 10 min read
- Authentication Patterns 12 min read Pro lesson
- OWASP Top 10 in Node 8 min read Pro lesson
- Helmet, Rate Limiting, CORS in Practice 8 min read Pro lesson
- Dependency Security: npm audit and Beyond 9 min read Pro lesson
- Secret Management 11 min read Pro lesson
Module 17: Building APIs
Building APIs — 7 topics.
- REST API Design Principles 12 min read Pro lesson
- REST in Express (or Fastify): Full Walkthrough 9 min read Pro lesson
- GraphQL with Apollo Server 11 min read Pro lesson
- gRPC in Node 8 min read
- API Versioning Strategies 11 min read Pro lesson
- OpenAPI / Swagger Documentation 8 min read Pro lesson
- Rate Limiting and Quota Strategies 10 min read Pro lesson
Module 18: Real-Time Applications
Real-Time Applications — 6 topics.
- The WebSocket Protocol: Actually Understanding It 10 min read Pro lesson
- The `ws` Library: Minimal and Direct 7 min read Pro lesson
- Socket.IO: When the Abstraction Earns Its Keep 9 min read Pro lesson
- Server-Sent Events and Long Polling 9 min read Pro lesson
- Scaling Real-Time: Redis Pub/Sub and Sticky Sessions 11 min read Pro lesson
- Real-Time Auth: Connection Lifecycle and Authorization 10 min read Pro lesson
Module 19: TypeScript in Node.js
TypeScript in Node.js — 6 topics.
- Why TypeScript for Node 9 min read
- tsconfig.json: The Field-by-Field Tour 9 min read Pro lesson
- Running TypeScript: tsc, ts-node, tsx, Native Node 10 min read Pro lesson
- Type-Safe APIs End-to-End 10 min read Pro lesson
- ESM + TypeScript: The Current State 10 min read Pro lesson
- Common TypeScript Patterns in Node Code 12 min read Pro lesson
Module 20: Deployment & Production
Deployment & Production — 6 topics.
- Process Management: PM2, systemd, and the Alternatives 10 min read Pro lesson
- Docker for Node.js 8 min read Pro lesson
- Configuration and Environment Variables 10 min read Pro lesson
- Graceful Shutdown 10 min read Pro lesson
- Health Checks and Readiness 10 min read Pro lesson
- CI/CD for Node Services 11 min read Pro lesson
Module 21: Microservices & Distributed Systems
Microservices & Distributed Systems — 6 topics.
- When Microservices Fit (And When They Don't) 10 min read Pro lesson
- Service Discovery and Inter-Service Communication 10 min read
- Message Queues: RabbitMQ, BullMQ, Kafka 10 min read Pro lesson
- Distributed Tracing 8 min read Pro lesson
- Resilience Patterns: Retry, Circuit Breaker, Bulkhead 11 min read Pro lesson
- Saga and Outbox Patterns 10 min read Pro lesson
Module 22: Node.js for Tooling
Node.js for Tooling — 5 topics.
- CLI Development: commander, yargs, clipanion 7 min read Pro lesson
- Interactive CLIs: inquirer, prompts 7 min read Pro lesson
- Build Tools Under the Hood: esbuild, Vite, swc 9 min read Pro lesson
- File Watchers and Dev Servers 8 min read Pro lesson
- Code Generators and Scaffolding 9 min read Pro lesson
Module 23: Advanced Patterns
Advanced Patterns — 5 topics.
- EventEmitter: The Pattern Under Everything 9 min read
- Async Iterators in Production 9 min read Pro lesson
- AbortController and Cancellation 10 min read Pro lesson
- AsyncLocalStorage and Async Context 11 min read Pro lesson
- Performance Hooks and Diagnostics Channels 10 min read Pro lesson
Module 24: The Node.js Ecosystem in 2026
The Node.js Ecosystem in 2026 — 4 topics.
- Deno: What It Is, What It Changed 8 min read Pro lesson
- Bun: Speed and Ambition 8 min read Pro lesson
- Edge Runtimes: Workers, Edge, Deno Deploy 9 min read Pro lesson
- The Future of Node 9 min read Pro lesson
Module 25: Node.js Interview Preparation
Node.js Interview Preparation — 5 topics.
- The Node.js Interview Landscape 10 min read Pro lesson
- Event Loop Questions: All of Them 9 min read Pro lesson
- System Design with Node in the Stack 11 min read Pro lesson
- Performance Debugging Stories: Interview-Ready 11 min read Pro lesson
- The Capstone Project 10 min read Pro lesson
Module 26: Capstone — Build a Link-in-Bio Service
Capstone — Build a Link-in-Bio Service — 6 topics.
- Project Setup: TypeScript, Fastify, Config 7 min read
- The Data Layer: Postgres, Migrations, Redis 10 min read Pro lesson
- Core API: Auth, Pages, Links, Public Reads 10 min read Pro lesson
- Background Worker and Async Processing 9 min read Pro lesson
- Production Hardening: Observability, Errors, Shutdown 9 min read Pro lesson
- Testing, Docker, CI 11 min read Pro lesson