Josh W. Comeau
banner
joshwcomeau.com
Josh W. Comeau
@joshwcomeau.com
Indie developer and educator. Blogging at http://joshwcomeau.com.
Previously at DigitalOcean, Khan Academy. Taught at Concordia Bootcamps.
He/Him 🌈
Wowww 💯
I just discovered @matthiasott.com 's site theme switcher and this is a piece of art. :D 👏

matthiasott.com
November 11, 2025 at 3:17 AM
Reposted by Josh W. Comeau
I made a lil' game yay

This game originated from a project for @joshwcomeau.com's React course (I super recommend it - it's a great course). I'm so happy with how it turned out and I thought I'd share it with you all here yay

project-wordle-eight.vercel.app
So many languages
So many languages - Wordle multilanguage clone
project-wordle-eight.vercel.app
November 9, 2025 at 7:38 PM
Reposted by Josh W. Comeau
i'm looking for a new job
Hire Me in Japan — overreacted
I'm looking for a new job.
overreacted.io
November 10, 2025 at 3:31 PM
Reposted by Josh W. Comeau
Made some updates to my Custom Course Platform built on Next.js:

I've added several gamification features to boost retention:
→ Streaks
→ Daily learning progress tracking
→ Levels to earn a certificate

Overall, the platform is now more engaging for students!

Check it out at nextjscourse.dev
November 10, 2025 at 1:01 PM
Reposted by Josh W. Comeau
Last chance to take the State of JS survey this year! Let's get to 15k responses!

survey.devographics.com/en-US/survey...
State of JavaScript 2025
Take the State of JavaScript survey
survey.devographics.com
November 9, 2025 at 11:35 PM
Omg I love this ❤️
was exploring dynamic vars in keyframes and antimation occurred haha

cc: @joshwcomeau.com
November 9, 2025 at 5:07 PM
Reposted by Josh W. Comeau
Rad dithering breakdown / interactive learning experience

visualrambling.space/dithering-pa...
Dithering - Part 1
Understanding how dithering works, visually.
visualrambling.space
November 8, 2025 at 7:41 AM
The wild experience of trying to log into Service A on a new device. You pick OAuth Provider B, but you’re not logged in there either, so they email you a link, so you open Email Client C, but to log into Email Client C you need a login code from 2FA App D…

Authentication has become an Ouroboros 😂
November 4, 2025 at 7:54 PM
✨ It’s that time of year! The State of JavaScript 2025 survey is currently running. 😄

I take the survey every year. It’s a great way to keep up with all of the new features and APIs that have come to browsers in the past year.

stateofjs.com/en-US
State of JavaScript
stateofjs.com
November 3, 2025 at 3:45 PM
Reposted by Josh W. Comeau
✍️ New Article: Use Cases for Field Sizing

A quick look at field-sizing and where it can be used. I hope this will land in Firefox and Safari soon. The good thing? We can use it as an enhancement.

🔗 ishadeed.com/article/fiel...
November 1, 2025 at 6:27 AM
Reposted by Josh W. Comeau
Another great #CSS animation article from @joshwcomeau.com

www.joshwcomeau.com/animation/li...

He touches on something I always wondering about as well - performance.

#frontend #webdev
Springs and Bounces in Native CSS • Josh W. Comeau
The “linear()” timing function is a game-changer; it allows us to model physics-based motion right in vanilla CSS! That said, there are some limitations and quirks to be aware of. I’ve been experiment...
www.joshwcomeau.com
October 31, 2025 at 3:26 PM
😮 Two of my favourite people, talking about one of the most important topics for anyone working in web dev!
October 31, 2025 at 2:38 PM
Happy Halloween! 🎃

I think Halloween is my favourite holiday. It’s just so *weird.* I passed by a Subway restaurant that had a poster like this in their window, and it just struck me what an unusual thing this is for a business to do. 😂
October 31, 2025 at 2:32 PM
Reposted by Josh W. Comeau
Finally enrolled into React course by @joshwcomeau.com and it's worth every penny. Comprehensive guide.
October 30, 2025 at 6:54 AM
There’s something magical about physics-based animation. When we use springs instead of Bézier curves, we tend to get way smoother motion.

Up until recently, we’ve needed to use JS libraries for this, but a modern feature lets us emulate springs in native CSS. ✨

Just published a new post:
Springs and Bounces in Native CSS • Josh W. Comeau
The “linear()” timing function is a game-changer; it allows us to model physics-based motion right in vanilla CSS! That said, there are some limitations and quirks to be aware of. I’ve been experiment...
www.joshwcomeau.com
October 28, 2025 at 6:08 PM
Reposted by Josh W. Comeau
Really positive sign that open source projects are standing up to do the right thing. Kudos to the Python folks: www.theregister.com/2025/10/27/p...
Python Foundation rejects $1.5M grant with no-DEI strings
: Foundation says it won't compromise policy of inclusivity even if that cash would've really helped
www.theregister.com
October 28, 2025 at 3:17 PM
Looking for recommendations for doing web dev work (React/Next) on Windows. Is it still ideal to use WSL, or should I install stuff natively on Windows? If native, what’s the best way to manage multiple Node versions?
October 24, 2025 at 4:42 PM
This is so great 💯
It's week 2 of The Callback and I've only managed to make it weirder.

Check it out to learn:
- The three scariest acronyms in Web Dev
- How we're finally going to get people to practice accessibility
- How to be maximally bathroom efficient

youtu.be/GYUVIe8xCr4
Did they fix Next.js?
YouTube video by Prismic
youtu.be
October 24, 2025 at 4:35 PM
I am in the midst of the *worst* customer support experience I have ever had, and surprisingly, it’s with Apple.

I have a top-of-the-line MacBook which is less than a year old, and have spent dozens of hours over the past 3 months trying to get it repaired, with zero success.
October 24, 2025 at 2:58 PM
Reposted by Josh W. Comeau
A moth got into the shelter tonight and it was the event of the season.
October 24, 2025 at 1:03 AM
Reposted by Josh W. Comeau
There’s a new type of CSS scroll-state query coming: “scrolled”.

This one remembers the last direction you scrolled into, which you can use to build “hidey bars”: when scrolling down (or having scrolled down), the hidey bar hides itself. When then scrolling back up, the hidey bar reveals itself.
October 22, 2025 at 4:48 PM
Reposted by Josh W. Comeau
I've had a few questions from folks who want to know a little more about the course before snagging a seat, and a lot of this information is buried in newsletters and blog posts—I thought a video might be a quick way of getting it all in one easily-digested place:

www.youtube.com/watch?v=SXt6...
JavaScript for Everyone Q&A
YouTube video by Mat “Wilto” Marquis
www.youtube.com
October 20, 2025 at 8:37 PM
New Nanda post alert! 🏃💨
New post 🎉

Going back to my roots on writing about the inner workings of things, a breakdown of key-value databases and how you might make one from scratch:

nan.fyi/database
October 21, 2025 at 6:38 PM
I use this on my blog / in my course! It's neat, especially when you use CSS to make them look like little keyboard keys. 😄
October 21, 2025 at 6:31 PM