From the OpenReplay Blog
Free Stock Photo Resources for Developers
Free stock photo resources for developers, with license details, API access, attribution rules, and reuse limits for Unsplash, Pexels, Pixabay, Openverse, and more.
Building Data-Driven Apps with React Admin
React Admin architecture explained: dataProvider methods, CRUD views, authentication, and reusable list and edit screens for backend-agnostic apps.
Fetching Data from APIs in Node.js
Use Node.js fetch for API requests, POST bodies, timeouts, and error handling. See when to use undici Pool or Axios instead.
How to Debug CORS Errors in the Browser
Debug CORS errors in the browser with DevTools, console messages, and preflight OPTIONS checks. Spot mixed content, TLS, and credential issues fast.
Add WebGPU Effects to Your UI with Shaders.com
Shaders.com adds WebGPU shader effects to React, Vue, Svelte, and Solid with 90+ composable presets, a visual editor, and fallbacks for browser support.
Type-Safe Event Emitters in TypeScript
Type-safe event emitters in TypeScript: use event maps, a generic emitter, or Node.js EventEmitter to catch typos and payload mismatches at compile time.
Links vs Forms in HTTP Requests
Links vs forms in HTTP requests: when to use <a>, GET forms, POST forms, and why method=link is invalid HTML.
How to Detect Online and Offline Status in JavaScript
Detect online and offline status in JavaScript with navigator.onLine, online/offline events, and fetch-based connectivity checks.
Popular JavaScript Game Engines Compared
Compare Phaser, Babylon.js, PlayCanvas, Excalibur, and melonJS to choose the right JavaScript game engine for 2D and 3D browser games.
Blending Images with CSS cross-fade()
CSS cross-fade() blends images in one declaration. See percentage weights, legacy -webkit syntax, @supports fallbacks, and browser support.
Secure Coding for JavaScript Developers
Secure JavaScript coding practices for browser apps: prevent DOM XSS, avoid eval(), use CSP, protect tokens, and harden postMessage and dependencies.
Converting Images to Base64 with Canvas
Convert images to Base64 with Canvas: use toDataURL vs toBlob, handle PNG/JPEG/WebP support, and avoid tainted canvas CORS errors.
Low-Latency Browser Communication with WebTransport
WebTransport for browsers: compare WebSockets, datagrams, and streams for low-latency HTTP/3 messaging without head-of-line blocking.
5 Git Dotfiles Every Developer Should Know
5 essential Git dotfiles explained: .gitconfig, .gitignore, .gitattributes, .git-blame-ignore-revs, and .mailmap for cleaner workflows.
What's New in TypeScript 6.0
TypeScript 6.0 changes defaults, deprecates legacy options, and adds ES2025 support, Temporal types, and migration tips before TypeScript 7.0.
Replacing Animation Libraries with Native Web APIs
Replace GSAP or Framer Motion with the Web Animations API, CSS Scroll-Driven Animations, and View Transitions for common UI motion.
Linux File Permissions Explained
Linux file permissions, ownership, chmod, chown, umask, and special bits like setuid and sticky bit explained so you can secure any Linux system.
Using CSS `zoom` to Scale UI Elements
Compare CSS zoom and transform scale across layout flow, browser support, and practical UI scaling use cases to choose the right tool for your project.
Best Practices for Working with SolidJS
Avoid common SolidJS pitfalls by understanding fine-grained reactivity, signal scoping, prop handling, store usage, and async data patterns with createResource.
How to Enable Local HTTPS for Development
Set up trusted local HTTPS using mkcert, configure Vite or Next.js dev servers, and avoid self-signed certificate warnings during development.
Meet Turso, a Rust-Based Evolution of SQLite
Compare Turso and libSQL to understand how Rust, async APIs, and MVCC extend SQLite for edge deployments and modern application architectures.
Displaying PDFs in Vue 3 Applications
Compare native embeds, PDF.js, and Vue wrapper components for displaying PDFs in Vue 3, with trade-offs covering CORS, workers, and bundle size.
Relational Database Design Basics
Build reliable relational database schemas using primary keys, foreign keys, normalization, and constraints to structure tables and prevent data anomalies.
The Good and Bad of Using Markdown as a CMS
Weigh the real tradeoffs of Markdown as a CMS, covering Git workflows, MDX, Tina CMS, and when structured headless CMS tools serve content teams better.