Building a Browser-Native Typing Test with Web Components and Input Events
Build a self-contained typing accuracy component using custom elements, the InputEvent API, Shadow DOM, and CSS custom properties. No framework required.
Build the Modern Web
Build a self-contained typing accuracy component using custom elements, the InputEvent API, Shadow DOM, and CSS custom properties. No framework required.
For years, managing dark mode on a website felt like a constant battle. You would write a set of custom properties, sprinkle in some media queries for `prefers-color-scheme`, and then wire up a JavaSc…
If you are evaluating tools for a new desktop application, you already know the challenge. You want one codebase that runs smoothly on Windows, macOS, and Linux. You want to use web technologies your …
For years, managing dark mode on the web meant writing JavaScript toggle logic, maintaining stacks of CSS custom properties, or relying on a preprocessor to swap entire stylesheets. It worked, but it …
The CSS Working Group recently published a new feature that has the front-end community buzzing: the `@scope` rule. If you have spent years writing classes like `.block__element–modifier`, you might …
You write HTML every day. You know the usual suspects: “, “, “, and “. But the HTML5 spec has a handful of hidden gems that rarely get the spotlight. These elements solve real, everyday problems w…
Collaboration tools have transformed how teams work together online. Whiteboarding sessions that once required a physical room now happen across continents. If you have wanted to build your own real-t…
Wire real-time voice input into your web app with the browser-native SpeechRecognition API. Events, interim results, error handling, and a reusable component.
You have been building web-based video tools for a while now. Maybe you rely on FFmpeg.js or a WebAssembly module to handle encoding and decoding. Those tools work, but they come with baggage. Large f…
Build a production-grade icon pipeline using SVG favicons with dark mode support, maskable icons, and the manifest setup every modern PWA needs.