From the OpenReplay Blog
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.
How to Install Claude Desktop on Linux
Claude Desktop on Linux: official Claude Code CLI support, plus community desktop packages, install steps, feature comparisons, and security trade-offs.
Nuxt UI, the Intuitive Component Library for Vue Apps
Nuxt UI is a Tailwind-native Vue component library with 125+ accessible components, TypeScript support, and Vite setup for Nuxt or Vue apps.
5 Figma Alternatives Built with Web Technologies
5 Figma alternatives built with web technologies, from Penpot and Plasmic to Webstudio, Framer, and tldraw for browser-native design workflows.
The State of CSS-in-JS in 2026
CSS-in-JS in 2026: runtime vs zero-runtime tools, React Server Components, Next.js App Router limits, and which styling approach fits your app.
How to Create an Android App with Android CLI
Android CLI setup, project creation, SDK install, emulator run, and how Android Skills and the Knowledge Base support agentic app development.
Semantic Versioning Explained
Semantic versioning explained for npm: MAJOR.MINOR.PATCH, caret and tilde ranges, 0.x releases, pre-releases, and lock files for safer updates.
Choosing a JavaScript Templating Engine
Compare EJS, Handlebars, Pug, and Nunjucks for Node.js server-side HTML rendering, with syntax examples, use cases, and security tips.
Five Sass Features You Can Replace with CSS
Five Sass features you can replace with modern CSS: custom properties, nesting, color-mix(), @layer, and @property for everyday styling.
How to Embed Video in React
Embed video in React with HTML5 video for self-hosted files, YouTube iframes, autoplay fixes, responsive sizing, and when to use ReactPlayer.
Recording Audio in the Browser with Web Audio API
Web Audio API recording in the browser: capture microphone input with getUserMedia, process it if needed, and encode it with MediaRecorder.
Email Obfuscation Techniques for the Web
Email obfuscation techniques for the web: compare HTML entity encoding, JavaScript, CSS to avoid, contact forms, and Cloudflare protections.
Modern SQLite Features You Might Be Missing
Modern SQLite features explained: JSONB, STRICT tables, RETURNING, WASM with OPFS, and WAL mode for better performance and concurrency.
Using es-toolkit for Everyday JavaScript Utilities
es-toolkit offers typed, tree-shakeable JavaScript utilities as a lean Lodash alternative, with smaller bundles and a migration path from Lodash.
Creating a Pure CSS Tooltip
Build a pure CSS tooltip with ::after, data-tooltip, and opacity transitions, plus focus-visible support and key accessibility limits.