Guides

In-depth tutorials and guides for JavaScript developers.

Screen Wake Lock API

Use the Screen Wake Lock API to keep a device screen awake. Request a wake lock, handle release events, and manage visibility changes so your app stays active.

min read · intermediate · javascript

Getting Started with Deno

Deno: a TypeScript runtime with built-in tooling, secure permissions, npm support. Run scripts, manage deps, and build servers without extra setup.

min read · intermediate · javascript

The Gamepad API

Connect game controllers to the browser with the Gamepad API. Read button presses, axis movement, handle connect/disconnect, and add haptic feedback.

min read · intermediate · javascript

The Web Audio API

Build synthesisers, visualisers, and audio effects with the Web Audio API. AudioContext, oscillators, GainNode, analyser, and worklet fundamentals.

min read · intermediate · web

The Bun Runtime

Bun is an all-in-one JavaScript runtime with a built-in package manager, bundler, and test runner. Run TypeScript natively and serve HTTP with zero config.

min read · intermediate · javascript

Getting Started with esbuild

Bundle JavaScript with esbuild for speed. Use the CLI, the Node.js API, and watch mode to build projects faster than webpack or Rollup alone.

min read · intermediate · javascript

Getting Started with Vite

Set up a fast JavaScript project with Vite. Configure the build tool, use the dev server with hot module replacement, and build for production.

min read · intermediate · javascript

Intersection Observer Patterns

Practical patterns for using the Intersection Observer API — lazy loading, scroll animations, infinite scroll, and sticky section tracking.

min read · intermediate · web

Module Federation in JavaScript

Share code between JavaScript applications at runtime. Module Federation lets you load remote modules dynamically without duplicating dependencies.

min read · intermediate · javascript

Building a Progressive Web App

Turn your web app into a Progressive Web App. Add a manifest, register a Service Worker, and enable installability, offline support, and push notifications.

9 min read · intermediate · web

WebGL Basics

Learn the fundamentals of WebGL — the JavaScript API for rendering 2D and 3D graphics in the browser using the GPU.

min read · intermediate · web

The Canvas API

Learn how to draw 2D graphics in the browser with the HTML Canvas API, from basic shapes to pixel manipulation.

min read · beginner · web

WebRTC Fundamentals

Learn how to build real-time peer-to-peer connections in the browser with WebRTC. Covers RTCPeerConnection, ICE, signaling, and data channels.

min read · intermediate · web

The Temporal API for Dates and Times

A practical guide to JavaScript's Temporal API: immutable date/time types, clear timezone handling, and arithmetic that actually works.

min read · beginner · javascript

Error Handling Patterns and Custom Errors

Learn to build custom error classes, handle sync and async errors, propagate failures with cause chains, and avoid common mistakes.

min read · intermediate · javascript

The Iterator and Iterable Protocols

Learn JavaScript's iterable and iterator protocols — the conventions that power for...of, spread, Array.from, and custom iteration.

min read · intermediate · javascript

Node.js Production Best Practices

Production Node.js practices: PM2 management, graceful shutdown, structured logging, security, health checks, and clustering for scaling.

min read · intermediate · node

CSS Typed OM from JavaScript

Work with CSS values as typed JS objects instead of strings, covering attributeStyleMap, computedStyleMap, CSSUnitValue, CSSMathValue, and CSSTransformValue.

min read · intermediate · javascript

The JavaScript Performance API

Measure code execution timing, create performance marks and measures, and observe performance metrics in the browser with the W3C Performance API.

min read · intermediate · web

AbortController Patterns in JavaScript

Learn how to cancel fetch requests, custom async operations, and combine multiple abort signals with AbortController and AbortSignal.

min read · intermediate · async

IndexedDB: Client-Side Databases

Learn how to use IndexedDB to store structured data in the browser, including object stores, transactions, indexes, and cursors.

min read · beginner · javascript

The Intl API: Formatting and Localization

Learn how to use JavaScript's built-in Intl API to format dates, numbers, and text for different locales. Complete guide with practical examples.

min read · intermediate · javascript

Service Workers and Offline Caching

Learn how to use Service Workers to cache resources, enable offline functionality, and implement different caching strategies for your web application.

10 min read · advanced · web

JavaScript structuredClone and Deep Copying

Learn how to deep copy objects in JavaScript with structuredClone — the built-in API that handles Date, Map, Set, BigInt, and more.

min read · intermediate · javascript

Web Workers: Off the Main Thread

Learn how to use Web Workers to run JavaScript in background threads, keeping your UI responsive during heavy computations.

min read · advanced · web

Writing Declaration Files

Learn how to create TypeScript declaration files (.d.ts) to add type safety to JavaScript projects, extend existing types, and publish type definitions

12 min read · advanced · typescript

Project References and Monorepos

Learn how to scale TypeScript projects with project references and monorepo architectures. Covers incremental builds and enterprise patterns.

min read · advanced · typescript

Async Iterators and for-await-of

Learn how async iterators work in JavaScript — iterate over async data sources using for-await-of and handle streams of data asynchronously

8 min read · advanced · async

Promises in Depth

Master JavaScript Promises — understand the microtask queue, promise states, chaining patterns, and common pitfalls with practical examples

10 min read · intermediate · async

WebSockets: Persistent Connections

Learn how WebSockets enable bidirectional, real-time communication between client and server — with practical examples for building interactive applications

8 min read · intermediate · web

File System Access API

The File System Access API lets web apps read and write files on the user's device. Covers file pickers, handles, streams, directory access, and OPFS.

min read · intermediate · web

Import Maps and Dependency Management

Learn how to use import maps to resolve bare module specifiers in the browser without a bundler, and how to manage multiple dependency versions.

min read · intermediate · javascript

The Payment Request API

The Payment Request API provides a browser-native checkout flow. Create a PaymentRequest, show a payment sheet, handle the response, and fall back gracefully.

min read · intermediate · web

SharedArrayBuffer and Atomics

Learn how SharedArrayBuffer and Atomics enable true multi-threaded coordination in JavaScript, with patterns for locks, counters, and producer-consumer queues.

min read · advanced · javascript

The Streams API

Learn how JavaScript's Streams API lets you process data chunk-by-chunk. Covers ReadableStream, WritableStream, TransformStream, pipe chains and backpressure.

min read · intermediate · web

Shadow DOM and Web Components

Learn how Shadow DOM encapsulates structure and styles in web components, covering attachShadow, slots, and custom elements.

min read · intermediate · web

The Web Animations API

Learn to animate DOM elements with WAAPI — the browser's native animation engine covering animate(), keyframes, playback control, and performance.

min read · intermediate · web

JavaScript Closures Explained

Understand closures in JavaScript — how they work, why they matter, and practical use cases with code examples for data privacy and function factories

8 min read · intermediate · javascript

Destructuring in JavaScript

Learn JavaScript destructuring — extract values from objects and arrays. Covers default values, renaming, rest pattern, and practical examples.

7 min read · beginner · javascript

Understanding the JavaScript Event Loop

Learn how JavaScript handles asynchronous operations through the event loop, call stack, task queue, and microtask queue.

8 min read · intermediate · javascript

Generators and Iterators in JavaScript

Learn how generators work in JavaScript - functions that can pause and resume execution, producing sequences of values on demand.

8 min read · intermediate · javascript

JavaScript Memory Management: A Practical Guide

Learn how memory works in JavaScript, detect memory leaks, and write memory-efficient code using WeakRef, FinalizationRegistry, and profiling tools.

12 min read · advanced · javascript

ES Modules in JavaScript

Learn how to use ES Modules to organize your JavaScript code with import and export statements.

8 min read · beginner · javascript

Prototypes and Prototype Chain

Learn how JavaScript prototypes work, including prototype chain, Object.create(), and inheritance patterns.

9 min read · intermediate · javascript

Proxy and Reflect in JavaScript

Master JavaScript Proxy for metaprogramming. Learn handler traps, Reflect API, and practical patterns like validation, lazy properties, and observability.

15 min read · advanced · javascript

Regular Expressions in JavaScript

Master regular expressions in JavaScript — learn regex syntax, flags, methods, and practical patterns for text manipulation and validation

12 min read · intermediate · javascript

Symbols in JavaScript

Learn JavaScript Symbols — primitive values for unique property keys, well-known symbols, and the global registry. Intermediate guide with practical examples.

8 min read · intermediate · javascript

Tagged Template Literals

Learn how tagged template literals work in JavaScript, how to create custom tag functions, and real-world use cases for processing template strings

6 min read · intermediate · javascript

WeakMap and WeakSet in JavaScript

Learn how WeakMap and WeakSet work in JavaScript — collections that allow garbage collection of their keys and values for memory-efficient storage

6 min read · intermediate · javascript