Joy for JavaScript Developers

A brand-new bundle containing my interactive courses, CSS for JavaScript Developers and The Joy of React.

I’ve spent the past few years working full-time on educational resources for front-end developers. Today, for the first time ever, you can purchase both of my flagship courses together, at an incredible discount.

My courses focus on filling in the biggest gaps that I saw most often in my career as a staff software engineer, and teacher at a local coding bootcamp. Specifically:

  • Understanding how to build dynamic web applications using React, the most popular JavaScript framework.
  • Going beyond the basics and really feeling comfortable with CSS.

My courses aren’t like other online courses. You won’t sit back and watch me code. There are tons of interactive widgets, exercises, real-world-inspired projects, and more.

My goal is to help you understand how this stuff works at a deep level. Rather than memorizing snippets to create specific UIs or solve particular problems, you’ll build the skills needed to tackle any problem you encounter.

You’ll also receive an exclusive invitation to join our Discord. I’m in there almost every day, answering questions and helping you get unstuck. Lots of people have told me that the Discord alone is worth the price of admission!

Let’s talk about the included courses.

Friendly blob character, styled to look like the React logo

The Joy of React

React has become the predominant front-end framework; just about every job posting lists it as a pre-requisite these days!

If you’ve tried to learn React, though, you know it can be confusing and overwhelming. It’s not as beginner-friendly as other frameworks. There’s just so much to know, and most of the tutorials out there assume a ton of prior knowledge and context.

I know a lot about how to teach React effectively. I spent years teaching it to students one-on-one at a local coding bootcamp, and so I know all of the pitfalls, all of the typical stumbling blocks.

The Joy of React starts from the very beginning, with no assumed knowledge of React, and builds up to a deep understanding of how React works under the hood. I share all of the lightbulb moments I’ve had through almost a decade of professional React experience.

This course uses React 18, the current stable version of React, and covers modern features like React Server Components and Suspense. We also learn full-stack principles via the Next.js App Router.

This bundle includes the full course, including the bonuses! You’ll get the bonus module on advanced layout animations, as well as the “Job Hunting Kit”, which will help prepare you for technical interviews and other aspects of the job search.

Learn more about this course.

The Joy of React feels like playing a video game. You have text, videos, coding challenges, mini-games, well timed jokes and a boss at the end of each section. You never get bored!

It does an exceptional job at explaining all deep decisions and trade-offs we've made when creating React in a way a beginner can understand.

Christopher “vjeux” ChedeauFront-end Engineer at Meta. Co-created React Native, Prettier

This course is an absolute masterpiece! Josh keeps things exciting by switching between illustrated explanations, friendly videos, and targeted exercises. You'll build a mental model you can use throughout your journey.

What a wonderful way to learn React!

Amelia WattenbergerStaff Research Engineer at GitHub

CSS for JavaScript Developers

I started writing CSS back in 2007, and for about a decade, I really struggled with it. I knew enough to get by, mostly, but I never felt like I really understood it.

The language felt really unpredictable to me. Every now and then, the same CSS snippet I’ve used 100 times before would suddenly do something totally different. I didn’t feel like I really understood how things worked, under the hood. I relied heavily on copy/pasted snippets that I'd find on StackOverflow. 😅

In 2017, I decided I was sick of having this relationship with CSS. From that moment on, I resolved that whenever CSS surprised me, I wouldn’t try to copy/paste my way out of it. Instead, I’d settle into the problem like it was a nice warm bath, and really figure it out.

And holy smokes, it made such a difference! Puzzle pieces started clicking into place. I started to understand the logic behind the properties and layout modes. Things that had seemed arbitrary suddenly made perfect sense.

My goal with CSS for JavaScript Developers is to share all of those epiphanies. We go through the layout modes one by one, and I share the mental models I’ve used to make sense of it. Instead of memorizing snippets to build a small handful of layouts, you’ll understand the principles you can use to build any layout.

3D illustration of a treasure chest, overflowing with gold coins and jewels

As with The Joy of React, this bundle includes the full course. You’ll get all 10 modules plus the bonuses, like the Resource Treasure Trove, a collection of my favourite tools and resources with guides for how I use them.

Learn more about this course.

What I love about the way Josh teaches is that he’ll do whatever it takes to make sure a concept is clearly understood and that you’re building an accurate and helpful mental model.

When I’m learning something from Josh, I know it’s being taught the best way it possibly could be. There’s no person I’d trust more to really install CSS into my brain.

Adam WathanCreator of Tailwind CSS

Josh is one of the brightest authorities on CSS out there, bringing both deep technical insights and a fantastic amount of whimsy to all his work.

I highly recommend checking his course out if you're looking to level up!

Addy OsmaniEngineering Manager at Google

My goodness…What a lovely bundle!

Join the who have improved their CSS and React skills with my courses. Get started right now!

BundleJoy for JavaScript Developers

Develop a deep understanding of CSS and React with my two flagship courses, CSS for JavaScript Developers and The Joy of React.

$898

Price shown in USD, excluding sales tax.

This bundle includes

The Joy of React: Ultimate PackageFull price: $599 USD

  • Full access to all modules and projects
  • Discord community access
  • Certificate of completion
  • Bonus: Layout Animations Module
  • Bonus: 3D Wallpapers
  • Bonus: Job Hunting Kit

CSS for JavaScript Developers: Ultimate PackageFull price: $399 USD

  • Full access to all modules and projects
  • Discord community access
  • Certificate of completion
  • Bonus: Video Archive
  • Bonus: Resource Treasure Trove

Frequently Asked Questions

What if I’m not happy with the courses? Can I get a refund?

Absolutely! I have an unconditional 30-day refund policy. If you’re not getting enough value from the courses, shoot me an email and I’ll refund your purchase in full, including credit card transaction fees and sales tax. Every cent you paid.

One caveat: because this is a bundle, you’d need to return both of the included courses. You can’t return just one of them. That said, you could request a refund on the bundle and repurchase the individual course on its own! You’d lose the discount provided by the bundle, but all of your progress and data would be preserved in your account.

Where can I learn more about the included courses?

You can learn much more about each course, including information about the bonus features, on their respective landing pages:

Are these courses up-to-date?

So the answer is a little bit complicated. 😅

  • The Joy of React is fully up-to-date based on the current major version of React, React 18. It has not been updated for React 19, currently in beta. We cover Server Components, but not Actions.
  • CSS for JavaScript Developers is a bit less up-to-date; several modern features like container queries have not yet been added to the course.

In both cases, there are some modern things I wish were included, but honestly, I think the content that is included is still highly relevant. The courses aren’t as comprehensive as I would like, but as far as I know, nothing in them is incorrect or outdated.

Both of my courses have a similar goal: to help you build a rock-solid foundation of understanding, a core set of skills you can extend throughout your career without needing to do course after course. If you complete my courses, I think you’ll be in an excellent position to continue learning all of the new stuff that comes out, for years to come.

What makes your courses different from other online courses?

I'd say my courses are different in two main ways: the platform and the philosophy.

For the platform: I created a custom course platform which allows me to embed interactive exercises inside the lessons. If you’re familiar with my blog, you have a general idea of how this goes, but I take it even further in the course: there are minigames, special activities, all sorts of stuff. I believe practice and experimentation are key ingredients for effective learning, and my course platform is built around this belief.

To give you an example: early in The Joy of React, we look at how JSX is different from HTML. Instead of making you memorize a bunch of boring rules, we build our intuition with a “spot the differences” style game:

Lots of online courses are passive; you sit and watch the instructor code. I do things a bit differently. My courses are an active learning experience, and there's nothing else out there quite like it!

In terms of philosophy, the main goal with my courses is to help you understand how things work at a deep, fundamental level.

Most online courses out there are focused on the "what". They show you step-by-step what code to write in order to build a given UI or application. You memorize a bunch of stuff without really understanding why.

I want to help you build an intuition for React and CSS. When you understand how something works, you don't need to memorize a bunch of stuff, or to rely on tutorials to show you step-by-step. I want to empower you with the critical core knowledge you need to build your own projects on the web.

There are some other things too; my courses tend to put more of an emphasis on accessibility, and we explore a lot of cool animations and other whimsical UI.

Do you support Purchasing Power Parity (PPP)?

Yes! If you reside in a country with significantly lower purchasing power (eg. India, Brazil, Pakistan, Ethiopia), you'll be given the option to purchase a “regional license”. You should see a box pop up just below the “Register Now” button:

Screenshot showing the option to enable a regional license

Regional licenses include all of the same content (including bonuses!) at a significantly lower price point. In exchange, the courses can only be accessed within your home region. If you wind up moving to a higher-cost-of-living area and wish to continue accessing the course, you'll need to upgrade to a global license, and pay the difference in cost.

If you don’t see the golden box, please disable any VPN you might be using, or any browser extensions that could affect your IP address. If the problem persists, please reach out to support.

Can I purchase multiple licenses, for my team or group?

Certainly! Please reach out to support and let us know the number of licenses you would like, along with a full billing address. We’ll issue an invoice which can be paid online. You’ll receive a 10-20% discount depending on the quantity of licenses requested.

It is also possible to purchase team licenses directly, though I don’t yet have a checkout for the bundle. Here are the links for each individual course:

Is there a student discount?

Yes! If you’re a student at a full-time or part-time educational institution, we can generate a custom 20% student discount code for you.

Please send proof of active enrollment to support@joshwcomeau.com. This can be anything from a student ID card, to registration paperwork. If you have an “.edu” email address, sending us an email from that address is sufficient proof.

Please note, self-paced online courses don’t qualify for the student discount unless they involve a lot of direct interaction with an instructor. To see if you qualify, shoot us an email with all of the information and we’ll let you know.

Is this a subscription? Does the license expire?

Nope! It's a one-time purchase. When you buy any of my courses, you'll have access to them for the lifetime of my course platform. Not only that, but you'll get all updates and improvements for free!

Can I pay in installments?

I’m afraid this is not something I currently support in most regions.

If you happen to live in one of the following countries, you may be able to use PayPal’s “Pay Later” feature to split your purchase into four interest-free instalments. To use this feature, click the “Pay Later” button during checkout.

  • Australia
  • France
  • Germany
  • Italy
  • Spain
  • United Kingdom
  • United States

Unfortunately, this feature seems intermittently-available even within these countries, so it may not be an option.

What if I get stuck? Can I ask questions?

Yes! We're using Discord for our online community. It's a very vibrant place — thousands of students have joined. I’m in there myself, answering questions several times a week, along with my Discord community manager.

The community is moderated according to our Code of Conduct.

Do you offer a certificate of completion?

Yep! When you complete one of my courses, you will be able to save a .pdf with your name on it, showing that they've completed my course. These certificates can also be verified, as each one has a unique URL!

This can be useful to prove completion for your employer, to add to your LinkedIn profile, to share on social media, or to just feel great about your accomplishment!

Will I receive a receipt? Can it be customized?

Yep! After purchasing, you’ll receive an email with a link to your receipt. This receipt can be edited to include any information you need for reimbursement (eg. company name / address, VAT info…).

If your employer requires an invoice or price quote before a purchase is made, please reach out and we’ll do our best to accommodate your request.

Can I gift the bundle to somebody else?

It's definitely possible! But it's not totally seamless yet. There are two options:

  • You can enter the recipient's email in the checkout process, so they receive the welcome email.
  • You can purchase for yourself, and then email me with the name/email of the person you'd like to gift it to.

The first option is quicker, but please note that the recipient will also receive a copy of the invoice, with the last 4 digits of your credit card (if paying by credit). The second option preserves your privacy, but it may take me a day or two to respond.

I have a question not listed here!

Send me a message using my contact page and I’ll get back to you as quickly as I can!