From the OpenReplay Blog
Chrome Extension Manifest V3 Explained
Manifest V3 explained: service workers, declarativeNetRequest, chrome.action, Offscreen API, and why MV2 background pages and remote code were removed.
React Compiler vs Manual Memoization
React Compiler vs manual memoization: see when React.memo, useMemo, and useCallback are automatic, and when manual control still matters.
An Introduction to Agentic Browsers
Agentic browsers are reshaping web apps. See how they differ from Selenium, why semantic HTML matters, and the security risks developers must design for.
Removing Unused Files and Dependencies with Knip
Knip finds unused files, exports, and dependencies in JavaScript and TypeScript projects, with auto-fix and CI cleanup.
How to Persist Form State in the Browser
Persist form state in the browser with localStorage, sessionStorage, or IndexedDB. See how to autosave drafts, restore fields, and clear data safely.
A Complete Guide to Git Stash
Git stash commands, pop vs apply, conflict handling, untracked files, and best practices for saving and restoring work without committing.
Background Tasks in the Browser with the Scheduler API
Use the Scheduler API to prioritize main-thread work with scheduler.postTask() and scheduler.yield(), plus support checks and fallbacks.
Smooth Scrolling with CSS scroll-behavior
Use CSS scroll-behavior: smooth for anchor links, fix fixed header overlap with scroll-margin-top, and keep motion accessible.
Managing Package Managers with Node Corepack
Node Corepack explains package manager version pinning with Yarn and pnpm, plus Node.js 25 changes, CI setup, Docker, and offline use.
How to Reset the WordPress Admin Password
Reset a WordPress admin password with dashboard, lost password, WP-CLI, or phpMyAdmin methods, plus recovery and security steps.
A Simple Introduction to Design Tokens
Design tokens explained: what they are, how primitive and semantic tokens differ, and how CSS variables and Style Dictionary fit in.
Best Practices for Working with Svelte
Svelte 5 best practices for $state, $derived, context, and SvelteKit data loading, plus tips for keyed each blocks and modern syntax.
Using PlanetScale for Scalable MySQL Databases
PlanetScale for scalable MySQL databases: Vitess-based scaling, database branching, deploy requests, and non-blocking schema migrations.
How to Fix EACCES: Permission Denied in npm
Fix npm EACCES permission denied errors on macOS and Linux with nvm, a user-owned global prefix, or npx instead of sudo.
Keeping Context Across Async Calls in Node.js
Keep request IDs, user IDs, and tenant data across async calls in Node.js with AsyncLocalStorage. See how to use run() and getStore().
Vike as an Alternative to Next.js and Nuxt
Vike vs Next.js and Nuxt: see how this Vite meta-framework handles SSR, SSG, SPA, and deployment flexibility for modern apps.
Tips for Porting an Express App to Hono
Porting an Express app to Hono? See key differences in routing, middleware, body parsing, error handling, and incremental migration.
Creating a Theme Switcher with CSS Variables
Build a theme switcher with CSS variables, data-theme, prefers-color-scheme, localStorage, and no flash of wrong theme on load.
Is There a Rails for JavaScript?
Rails for JavaScript? Compare AdonisJS, Wasp, Next.js, and Sails.js to see which frameworks offer built-in auth, ORM, and scaffolding.
From Prompt to UI with Google Stitch
Google Stitch turns prompts into UI layouts, prototypes, and HTML export. See how to write better prompts, use DESIGN.md, and hand off faster.
Code Metrics Explained: What Is Cyclomatic Complexity?
Cyclomatic complexity explained with JavaScript examples, formulas, and tools like ESLint and SonarQube to measure and reduce branching logic.
Styling Web Components with Shadow DOM and CSS
Styling Web Components with Shadow DOM: use :host, ::slotted(), CSS custom properties, ::part(), and adoptedStyleSheets to control component CSS.
Server-Side Rendering with Preact
Preact SSR with preact-render-to-string, hydrate, and Vite: server-side rendering, streaming, and hydration mismatch tips for faster apps.
Create a Table of Contents from Headings in JavaScript
Build a JavaScript table of contents from headings with safe IDs, accessible nav, and active section highlighting using IntersectionObserver.