From the OpenReplay Blog
Modern iOS Feature Detection (Without the Pain)
Modern iOS feature detection made practical: use CSS.supports, behavior checks, and limited UA sniffing for iOS 26 and old iPads.
5 Accessibility Checks to Run Before Shipping
Five quick accessibility checks before shipping: keyboard tab order, automated scans, semantic HTML, color contrast, and 200% zoom.
Why rel='noopener' Is Obsolete for Links
Why rel=noopener is obsolete for target=_blank links, what reverse tabnabbing was, and when noreferrer, opener, or COOP still matter.
How to Force HTTPS with .htaccess
Force HTTPS with .htaccess using Apache rewrite rules, fix redirect loops behind CDNs or load balancers, and set up www and HSTS safely.
Plan Mode in Claude Code for Complex Tasks
Plan Mode in Claude Code explained: how it works, four ways to enable it, read-only limits, workflow tips, and when to skip it for simple edits.
Building a Data Grid with TanStack Table
Build a TanStack Table data grid with sorting, filtering, pagination, and virtualization, plus fixes for memoization bugs and infinite rerenders.
Adding Internationalization to a React App
Set up internationalization in React with react-i18next: interpolation, pluralization, RTL layout, locale formatting, and Next.js SSR.
Motion vs GSAP: Do You Need Both?
Motion vs GSAP for React: compare declarative component animation, scroll timelines, licensing, performance, and when to use both together.
How to Persist State in Local Storage with React
Persist React state in localStorage with a reusable hook: lazy useState init, JSON try/catch, SSR guards, and cross-tab sync.
Understanding CIDR Notation and IP Ranges
CIDR notation, IP ranges, and subnet math explained for IPv4 and IPv6. See how to read prefixes, size networks, and avoid overlap and open rules.
In-Browser Editing with contentEditable
Contenteditable editing in the browser: turn on inline text editing, capture input events, handle execCommand limits, and prevent XSS.
5 JavaScript APIs Every Frontend Developer Should Know
5 native JavaScript APIs for frontend developers: IntersectionObserver, ResizeObserver, AbortController, Clipboard API, and View Transitions.
How to Fix 'ERR_TOO_MANY_REDIRECTS'
Fix ERR_TOO_MANY_REDIRECTS with a diagnosis-first guide to redirect loops, HTTP to HTTPS mismatches, Cloudflare SSL, and proxy settings.
Using AI Agents to Automate Repetitive Project Tasks
Use Claude Code skills to automate repetitive project tasks, capture setup and deploy steps, and keep team workflows versioned and reliable.
Testing API-Driven Components in Storybook
Use MSW in Storybook 10 to test API-driven components with loading, error, empty, and success states, then turn stories into component tests.
Common CSS Shorthand Properties
CSS shorthand cheatsheet for margin, padding, border, font, background, and flex, with reset rules, value order, and silent bug fixes.
Doing Real Geometry in the Browser with Geometric.js
Geometric.js brings polygon intersection, bounds, point-in-polygon tests, and path interpolation to browser charts, maps, SVG, and Canvas.
3 Type Systems That Aren't TypeScript
Compare JSDoc + @ts-check, ReScript, and Flow as TypeScript alternatives for JavaScript, with trade-offs on soundness, build steps, and adoption.
MDN Is Now an MCP Server
MDN’s MCP server gives AI coding agents live search, documentation, and browser-compatibility data, plus setup steps and privacy caveats.
What bunx Is and When to Use It
bunx explained: how Bun runs npm binaries without a global install, when to use --bun, and when npx is still the safer choice.
How to Truncate Text in CSS
Truncate text in CSS with text-overflow: ellipsis for one line or line-clamp for multiple lines, plus flex and grid fixes.
5 Useful Bookmarklets for Developers
Five useful bookmarklets for developers: live-edit pages, debug layout, reveal password fields, pick colors, and inject eruda mobile DevTools.
Testing Svelte 5 Components with Vitest
Test Svelte 5 components with Vitest using mount, testing-library, or browser mode, plus the right setup for runes, effects, and snippets.
Getting Started with npm Workspaces
npm workspaces setup, commands, and limits: manage a monorepo, link sibling packages, and know when to add Turborepo or Nx.