Home/Josh W. Comeau
Author

Josh W. Comeau

79 articles by Josh W. Comeau.

Frontend — Boop!

Boop!

An in-depth tutorial that teaches how to create one of the most adorable interactions I've ever created. We'll learn how to use React components and hooks to abstract behaviours, and see how to design the perfect API. Even if you're not into animations, I think you'll find it interesting!

JWJosh W. Comeau·November 23, 2020Frontend
Design & UX — Chasing the Pixel-Perfect Dream

Chasing the Pixel-Perfect Dream

Is it possible to create an implementation of a design that matches to-the-pixel? Well, not really, but that shouldn't discourage us! In this article, I'll show how I became designers' best friend by leveraging a series of tricks to get my implementation looking near-pixel-perfect.

JWJosh W. Comeau·November 2, 2020Design & UX
Engineering — Hands-Free Coding

Hands-Free Coding

Earlier this year, I lost the ability to use a keyboard and mouse for extended periods. Fortunately, this wasn't as catastrophic as it sounds! This article chronicles my experience using adaptive tools like dictation and eye-tracking as my primary mechanisms for writing code.

JWJosh W. Comeau·October 21, 2020Engineering
Frontend — Full-Bleed Layout Using CSS Grid

Full-Bleed Layout Using CSS Grid

Certain layouts are surprisingly dastardly. On the modern web, one of the most common layouts is also one of the trickiest. In this tutorial, I break down how to build the "full-bleed" layout using CSS Grid.

JWJosh W. Comeau·October 5, 2020Frontend
Frontend — A Friendly Introduction to Spring Physics

A Friendly Introduction to Spring Physics

Of all the little tips and techniques I've picked up over the years about animation, spring physics remains one of the most powerful and flexible. In this tutorial, we'll learn how to harness their power to build fluid, organic transitions.

JWJosh W. Comeau·September 21, 2020Frontend
Systems — Local Testing on an iPhone

Local Testing on an iPhone

Learn how to set up an ideal workflow for debugging your development server on your iPhone. This may not be the most exciting topic I've written about, but it's probably one of the most useful!

JWJosh W. Comeau·May 26, 2020Systems
Frontend — Animated Sparkles in React

Animated Sparkles in React

In this dazzling tutorial, we'll see how to build an animated component. Wrap it around text or images and watch them twinkle! This neat trick is a perfect way to emphasize positive or exciting things.

JWJosh W. Comeau·May 19, 2020Frontend
Engineering — Lessons Learned Speaking at Conferences

Lessons Learned Speaking at Conferences

Speaking at conferences is equal parts exciting and terrifying. This article is a behind-the-scenes look at what the experience is like, and shares tips for getting started as a conference speaker.

JWJosh W. Comeau·May 6, 2020Engineering
Frontend — Accessible Animations in React

Accessible Animations in React

I really love animation, but not everybody does. In fact, it can make some people literally sick! In this tutorial, we'll see how to ensure that we respect user preferences, and create animations that can be disabled.

JWJosh W. Comeau·May 4, 2020Frontend
Engineering — Why My Blog is Closed-Source

Why My Blog is Closed-Source

In our community, it's so common for developer projects to be open-source. I'm breaking with this trend for my blog, but I have good reasons! In this article, I'll share my reasoning, as well as a workaround in case you _really_ want to see the source. If you're considering whether a project should be open-source or not, I hope you'll find it valuable.

JWJosh W. Comeau·April 30, 2020Engineering
Frontend — The Quest for the Perfect Dark Mode

The Quest for the Perfect Dark Mode

Dark Mode has become common enough that it's a user expectation. And yet, creating the perfect dark mode with a statically-built site/app is deceptively tricky. In this in-depth tutorial, we'll see how to build the perfect, flicker-free, customizable theming solution for React/Next.js apps.

JWJosh W. Comeau·April 22, 2020Frontend
Frontend — CSS Variables for React Devs

CSS Variables for React Devs

CSS variables are *really* cool, and they're incredibly powerful when it comes to React! This tutorial shows how we can use them with React to create dynamic themes. We'll see how to get the most out of CSS-in-JS tools like styled-components, and how our mental frame around media queries has been wrong all along.

JWJosh W. Comeau·April 13, 2020Frontend
Frontend — Styling Ordered Lists with CSS Counters

Styling Ordered Lists with CSS Counters

Styling an ordered list can be surprisingly tricky; there's no way to get at that bullet! In this tutorial, we'll see a handy trick using CSS counters that lets us style ordered lists without breaking proper semantics.

JWJosh W. Comeau·April 7, 2020Frontend
Frontend — Announcing “use-sound”, a React Hook for Sound Effects

Announcing “use-sound”, a React Hook for Sound Effects

By and large, using the web is a visual experience. This is in terrible contrast to mobile apps, which interact with three of our human senses (sight, sound, and touch, through haptic feedback). I just released a library to make it easy to add sound to your React app, and I make the case that you should consider using it!

JWJosh W. Comeau·March 30, 2020Frontend
Engineering — Becoming a Software Developer Without a CS Degree

Becoming a Software Developer Without a CS Degree

A look at how hundreds of developers got their start in the industry despite not having a Computer Science or Software Engineering degree. We'll sort responses into 6 categories, and detail strategies that you can use to ensure you capture the attention of potential employers!

JWJosh W. Comeau·March 16, 2020Engineering
Frontend — The Perils of Hydration

The Perils of Hydration

A surprisingly-common misconception can lead to big rendering issues that are difficult to debug. This deep-dive tutorial examines how React and Gatsby can be used to pre-render content, and how we can work around the constraints to build dynamic, personalized web apps.

JWJosh W. Comeau·March 2, 2020Frontend
Frontend — Persisting React State in localStorage

Persisting React State in localStorage

A common thing in React development is that we want to store a bit of React state in localStorage, and re-initialize from that value on the next page-load. This quick tutorial shows you how we can build a custom hook that does exactly this!

JWJosh W. Comeau·February 24, 2020Frontend
Design & UX — Effective Collaboration with Product and Design

Effective Collaboration with Product and Design

How we work with design can have a tremendous impact on our overall output, and yet we don't always treat it as very important. A look at how collaborating with design can supercharge our own productivity.

JWJosh W. Comeau·January 21, 2020Design & UX
Frontend — Magical Rainbow Gradients

Magical Rainbow Gradients

If you've ever tried to animate a gradient, you've been met with a harsh reality—it isn't possible. At least, it wasn't! In this tutorial, we'll leverage bleeding-edge browser features to animate ANY CSS property, including background gradients, using CSS Houdini, CSS variables, and React.

JWJosh W. Comeau·January 13, 2020Frontend