From the OpenReplay Blog
Automating npm Package Security Checks with npq
Automate npm package security checks with npq before install, using pre-commit hooks, npm aliases, pnpm support, and heuristic audits.
Frontend Performance Tricks We Forgot About
Frontend performance tricks still matter: image dimensions, font-display, preconnect, lazy loading, defer, async, and event throttling.
Making Videos with Claude Code and Remotion
Claude Code and Remotion guide to generating MP4 video from prompts, reading frame math, fixing sequences, and debugging renders in Studio.
How JSON-LD Helps AI Understand Your Website
JSON-LD and Schema.org help AI crawlers and Google understand your site. See how server-rendered structured data avoids JavaScript gaps.
5 Open Source E-commerce Platforms for Developers
Compare Medusa, Saleor, Vendure, Sylius, and Shopware for headless e-commerce backends, Next.js support, APIs, and self-hosting tradeoffs.
Getting Started with Vite+
Get started with Vite+: install vp, scaffold a project, run dev, check, test, and build, and understand the unified vite.config.ts workflow.
How to Fix the Annoying 404 favicon.ico Not Found Error
Fix the favicon.ico 404 error by serving a root favicon and adding proper icon tags for SVG, PNG, and Apple Touch Icon.
Copy-Paste Animations with Animata
Animata offers copy-paste React animation components with Tailwind CSS, shadcn/ui workflow, and lean per-component dependencies.
Pretext and the Future of Web Text Layout
Pretext is a TypeScript library that measures text outside the DOM to avoid reflow, speeding virtualized lists, chat feeds, and masonry layouts.
Cookies vs localStorage for JWT Authentication
Cookies vs localStorage for JWT authentication: compare XSS and CSRF risks, HttpOnly, Secure, SameSite cookies, and modern token storage patterns.
Things You Should Never Cache
Avoid caching user-specific data, auth responses, JWTs, and sensitive pages. Learn when to use no-store, private, and bfcache safely.
Auditing GitHub Workflows for Security Risks
Audit GitHub Actions for token scope, script injection, pull_request_target risk, action pinning, self-hosted runners, and OIDC secrets.
Five Alternatives to Next.js
Five alternatives to Next.js for 2026, including React Router v7, Astro 5, SvelteKit, Nuxt 4, and TanStack Start.
How to Add Authentication to an Electron App
Add authentication to an Electron app with OAuth 2.0 PKCE, system browser login, deep links or loopback redirects, and safeStorage token storage.
Choosing a Static Site Generator for JavaScript Projects
Compare Astro 6, Eleventy 3, Next.js 16, Nuxt 4, and SvelteKit to choose the right static site generator for JavaScript projects.
Using prefers-reduced-motion for Accessible Animation
Use prefers-reduced-motion to reduce animation safely with CSS, JavaScript, and Motion.dev, plus testing tips and WCAG guidance.
Should You Switch from npm to pnpm?
Should you switch from npm to pnpm? Compare dependency isolation, disk savings, workspaces, and pnpm 11 build-script approvals.
Removing Native Element Styling with CSS all: unset
Use all: unset to strip native element styling in CSS, reset buttons and form controls, and restore focus-visible accessiblity.
How to Detect When a Browser Tab Becomes Inactive
Use the Page Visibility API to detect when a browser tab becomes inactive. Pause polling, media, and analytics with visibilitychange.
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.