Experiment: Mosquitos
Dead mosquitos that are dead
Blog posts and articles about front-end development
Dead mosquitos that are dead
Condens on a window pane in pure CSS
A demonstration of viewing websites without CSS by removing all style elements via JavaScript, inspired by Firefox Reader View and 1995-era web aesthetics. Implementation of theme switching using localStorage to toggle between default and high-contrast mo …
Recursive CSS
Single element eggs
You don't need cloud services for prerendering. Using JSDOM you can easily setup a build script that renders HTML for every page.
Single element leafs
Cheese holes
Single element ladybugs
Perlin noise something
Perlin noise spokes
Forest animation
How to easily use prefers-media-queries and make them adjustable through user preferences.
Thoughts about signals, some history, and an easy explanation on inner workings.
Ten years ago I made a list of software and tools I use as a freelancer. This is the same list in its current state.
Don't put your email address in source files
Easy instructions on how to implement custom local ESLint rules. Custom rules are a great addition to your standardized configuration.
A simple solution to determining the scrollbar thickness for the current browser or device.
A practical guide on how to determine the way your application is used in terms of touch-, mouse- or keyboard interaction.
Rotating nested elements with animated background
A single background with repeating gradients exhibit moire interference patterns and glitches.
A single background with radial gradients seeded with a prng and animated with Perlin noise.
Basic structure and example of a page transition in a single page application.
Some useful Cypress custom commands to make your tests cleaner
A simple solution on how to use Sass variables in React styled-components.
To update a Cypress alias on the fly we can create and overwrite Cypress commands to update DOM aliases by traversing up the selector tree.
I’ve always ignored JavaScript generators and iterators partly because I never really encountered a clear real life use case.