Skip to main content Accessibility Feedback

Breaking projects into smaller parts

A few weeks ago, I wrote about the importance of starting small when you’re learning to code.

Learning by working on projects is awesome! But I’ve found that the biggest mistake people make when trying to learn this way is taking on a project that’s too big too soon.

Don’t try to build an ecommerce platform. Don’t try to build a calculator app. Don’t try to write your own API. (If you find any of those things easy, ignore what I just wrote, of course.)

Start really simple.

That’s all good, but knowing how to actually break a project into smaller parts that you can work on is hard.

So many students I talk have memorized a bunch of JavaScript methods and browser APIs, but really struggle with how to put them all together and build a working project from scratch.

And that’s why I created the Vanillla JS Academy.

Learn by doing

The Vanilla JS Academy is a project-based training program designed to help you learn to solve problems and think in JavaScript.

Over the course of the 10 week program, you’ll get access to over 170 lessons and work on 30 progressively more challenging projects. Here’s how it works…

  1. Every other day, you get a project to work on, 1-3 short lessons that provide some background, and a template to help you get started.

  2. On the in-between days, I share my approach to the project and some of the common challenges and “gotchas” that students often run into.

If you get stuck, there’s a 24/7 private Slack channel exclusively for students, and video office hours every few weeks.

Project-based learning

The Vanilla JS Academy is designed specifically to help students overcome the biggest challenges that stop them from learning effectively.

First, it breaks big projects into small, manageable parts.

As the program goes on, you’ll get better at breaking code into smaller pieces on your own, and be able to work on increasingly more challenging projects.

It provides a network of support.

How do you get unstuck when you hit a roadblock in a project? This is where a lot of get frustrated and just given up when trying to learn JavaScript.

In the Vanilla JS Academy, you have a network of other students who provide feedback, share code, ask and answer questions, and provide encouragement and support. You can also join live biweekly video office hours and get real-time answers and advice.

Challenges build on each other.

The Vanilla JS Academy takes a holistic approach to learning. The stuff you learn earlier in the program gets applied over-and-over again as the program goes on.

You learn how HTML, CSS, and JavaScript come together to impact user experience, web performance, code maintainability, and accessibility.

With the Vanilla JS Academy, you’re set up to succeed from the start.

What students have to say

I think this is the best JavaScript training program I’ve ever made, but don’t take my word for it. Here’s what past students have to say…

Making myself a little web tool and using a whole range of stuff that Chris Ferdinandi’s Vanilla JS Academy taught me.

I struggled with JavaScript for a decade so I really would recommend it for anyone who needs a big friendly confidence-booster.- Laura Kalbag
Tired of tutorials? Want to really dig in and work with other developers on how to become a vanilla JS badass? I can't tell you how much I've learned from Chris Ferdinandi and his Vanilla JS Academy.- Ben Rudolph
I was confident that I'd get something valuable from the Academy. The only only hesitation I felt was from knowing how many false starts I had with JS in the past and questioning my own commitment.

With Academy, something finally clicked in regards to both my ability to understand and write JavaScript.

I now feel pretty confident in reading other's scripts and figuring out what's going on. That's in large part due to your clear bite-sized lessons and the active discussions in Slack that quickly surfaced questions and issues that I was also experiencing. Seeing how the same problem was solved by so many others was also helpful in letting go of the pressure to get things right and shift my focus on getting things to work and adjusting later as needed.

I really liked how the lessons were broken up into quickly consumable chunks. I loved having a clean, unopinionated project file to start from that I could wreak design havoc on. :)

The Slack community was priceless.

I've taken other online classes that include a slack community and never found them to be quite as welcoming and my involvement felt much more transactional. In this community, I enjoyed seeing everyone's dedication and investment in each other. It was welcoming, inclusive, helpful, and encouraging. That made a huge difference.- Leticia O'Neill
I can honestly say I am not sure how I ever thought I could learn JS WITHOUT the Vanilla JS Academy. And trust me I have tried other courses.- Izzi Koning

Frequently asked questions

What’s the difference between the Vanilla JS Academy and your pocket guides?

The guides try to cover all of the important details on a particular topic, then walk you through a project to help you remember what you learned. Academy is about learning from doing, and gives you just enough information to get started on projects without giving you all the answers.

If you learn best from experience and building things, Academy is a great fit. If you learn best by being guided through a problem, Academy would probably be a waste of money.

I already purchased your pocket guides? Will I learn anything new from the Vanilla JS Academy?

There’s definitely some overlap in content, but the focus of the Vanilla JS Academy is on teaching you to “think in JavaScript,” through experiential, project-based learning.

If you’ve already read the pocket guides, you’ll be able to focus more on thinking through problems and less on, “what method do I need to do this?”

How does it work if I’m in a different timezone?

The lessons and projects automatically show up in the learning portal every day, and can be completed whenever you want. The Slack channel is available 24/7, and there are people from around the globe in the program.

The only “time specific” part is the office hours. If you’re in a location where you can’t join them live, you can send in questions ahead of time. Office hours are recorded so that you can watch them later.

I have a disability. Will I be able to follow the lessons and join office hours?

Every lesson includes a text-based version as well as streaming video with captions. Office Hours feature live automated audio transcripts. Because they’re automated, they’re not 100% accurate, but typically “good enough” for most people and conversations.

If there’s anything else I can do to make the program a better experience for you, please email me at

Do I need any prior knowledge or experience to participate in the Vanilla JS Academy?
Ideally you’re comfortable working with HTML and CSS already. Experience with another library or framework (like jQuery, React, and so on) is helpful but not required.

Ready to join?

If this sounds awesome (seriously, it is!), official registration opens on Monday.

But, if you’re reading this as part of my newsletter, you can register today for almost 50% off using the link at the top of this email.

Monthly payment plans and location-based pricing are available.

(And if you’re reading this on my website and want to get this awesome deal, drop your email into the form at the bottom of this page to sign up.)