Skip to main content Accessibility Feedback

The Vanilla JS Academy

A project-based online JavaScript training program for beginners.

The best way to learn JavaScript is by writing lots of code, but where do you even start? And what happens when you get stuck?

The Vanilla JS Academy provides a structured learning path, lots of fun projects, and the support you need to work through challenges.

Join now →

How It Works

The Vanilla JS Academy is an eight-week structured training program. You’ll learn JavaScript as part of a small group of other students.

1. Watch and Read
Each week, you’ll get a set of a lessons (a mix of videos and articles) focused on a core JavaScript topic that you can watch and read whenever you want.
2. Build Awesome Things
Along with your lessons, you’ll get two fun projects to work on that reinforce everything you learned in the lessons. I don’t give you the answers. You’ll use what you learned that week to solve interesting problems and build cool stuff.
3. Connect & Share
To help support your learning, you can join weekly video office hours and collaborate with your fellow students in an exclusive private Slack workspace. Ask questions, share what you’re learning, and get unstuck.

What You’ll Learn

  • DOM manipulation, injection, and traversal
  • How to transform and edit strings, arrays, and objects
  • ES6 essentials
  • How to structure and organize code
  • How to save data locally
  • Ajax and HTTP
  • How to work with APIs
  • How to write JavaScript plugins
  • Framework-free web apps
  • How to easily write cross-browser compatible code
  • How to debug broken code
  • Working with polyfills
  • JavaScript performance tricks

Work on Fun Projects!

Show Passwords

Toggle password visibility with a checkbox.

Temperature Converter

Convert temperatures from Fahrenheit to Celsius.

Random Awesomeness

Show a random awesome thing using API calls.

Top Stories

Use the New York Times API to get and display today's top stories.

Word Count

Count the number of words and characters in a block of text.

Avoid the Monster

Create a fun game where you find your monster friends and avoid the sock.

Weather App

Find a visitor's location and display their local weather.

Toggle Tabs

Create a toggle tab plugin for showing collections of content.

Form Saver

Automatically save form data as a user types.

Offline Reader

Save articles for offline reading.

Countdown Timer

Create a countdown timer app for tracking tasks.

Todo List

Build a simple todo app with local storage.

Join now →

Don’t go it alone! Get the support you need to build amazing things.

Weekly Office Hours

Join weekly video office hours to ask questions, share works in progress, and get help with any big roadblocks.

Private Slack Access

Get access to a private Slack channel where you can chat with other students, get feedback on code, and ask questions in between office hours.

The Program Schedule

Here’s exactly what you’ll learn each week.

Week 1: DOM Basics
How to listen for user interactions, get elements in the DOM, manipulate elements and content, and make updates to a web page with JavaScript.
Week 2: APIs & JavaScript
How to request data from APIs, turn it into HTML, and inject it into the DOM.
Week 3: Manipulating Data
How to manipulate strings, arrays, and objects. You’ll dig into some of the newer ES6 methods, too.
Week 4: JavaScript Plugins & Scope
How to write code that’s more resilient and reusable, and that can scale to a variety of use cases.
Week 5: Browser Storage
How to store data locally in the browser and use it later.
Week 6: JS Apps & State Management
What state is and some different approaches for managing it.
Week 7: JS Apps & Routing
How to manage different views and layouts in a JavaScript app.
Week 8: Wrap Up
Wrap up the JavaScript app projects, explore how to apply what you’ve learned to your own work, and talk about what’s next.

Go from beginner to JavaScript expert

  • Learn modern best practices and code patterns.
  • Spend less time Googling and more time working on cool stuff.
  • Get the skills and confidence to really understand JavaScript.
  • Follow a structured learning path to grow your skills more quickly.
  • Work on real projects and build your portfolio.

Your 100% Money-Back Guarantee 💰

Don’t put off learning vanilla JavaScript! If you’re not 100% satisfied with the Vanilla JS Academy, let me know within 30 days of when the program starts and I’ll give you a full refund.

About the Instructor

Chris FerdinandiHi, I’m Chris Ferdinandi. I write vanilla JavaScript plugins that are used by organizations like Apple, Harvard Business School, and CNN.

I want to help you master vanilla JavaScript, without all of the painful false starts and roadblocks I encountered when I was learning.

Ready to join?

Kick-start your journey to JavaScript mastery. You get…

  • 8 weeks of focused lessons made for beginners
  • 12 amazing JavaScript projects
  • Weekly video office hours
  • Exclusive Slack access

The Vanilla JS Academy returns later this year.

Registration is currently closed, but you can be the first to find out when registration opens back up and get exclusive discounts. Enter your email below.

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 much of a time commitment does the Vanilla JS Academy involve?
This program is for people who are serious about learning JavaScript. The more you put into it, the more you’ll get out of it. You should be willing to spend at least 4 or 5 hours a week working on your lessons and projects.
When are office hours held?
Office hours are held every Thursday at 12 noon US Eastern. They’re recorded for people who can’t attend, and you can submit questions ahead of time if you can’t make it.
Does the Vanilla JS Academy cover new ES6 methods?
Yes. Where applicable, I cover new ES6 functions and browser APIs. I also include polyfills when available to push browser support as far back as possible.
What happens after the 8-week program? Do I lose access to the lessons?
No. You get lifetime access to all of the lessons from the program.
Do you offer team discounts?
If you want to sign up your team or a group of people, email me at
Do you offer a student discount?
Absolutely! This applies to anyone in any type of schooling, including evening classes and coding bootcamps. Learn more about student discounts.
I have a poor exchange rate in USD. There’s no way I can afford this.
I totally get that in some countries salaries and cost of living are such that the Vanilla JS Academy is unaffordable. Send me an email at and I’ll send you a discount to make it fair for where you live.
I’m not a student. Any other discounts?
Yep. I’ve had a lot of helping getting where I am, and I want to pay it forward. If you’re a member of an under-represented group in tech, you can get special pricing. Learn more about discounts for under-represented groups in tech.
Do you have a return policy?
Absolutely! If you’re not 100% satisfied with the Vanilla JS Academy, email me at within 30 days after the program starts and I’ll give you a full refund.
After I sign up, how do I access the training program materials?
Visit and create an account with the email address you used to make your purchase. The program has fixed start and end dates, so not all material will be available at once. You’ll get a few emails from me when the program is about to start.
Are there any restrictions on the training material?
Nope. I trust you to do the right thing. My content is 100% DRM free. If you think others might enjoy the program, please email me at for information about team pricing.
Do I need any special tools or equipment for the Vanilla JS Academy?
All you need to go through the program and work on the projects is a modern web browser and a text editor (I recommend VS Code). The program materials come in a mix streaming HD video and plain text, so you can read and watch any device you own.
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. If you’re brand new to JavaScript, the program will help you kick-start your journey to JavaScript mastery! If you have any specific questions, though, please email me at
Are there any rules or requirements for participating in the office hours and Slack channel?
Yes. You must be at least 18 years old, and read and agree to follow the Code of Conduct.
I can’t use Stripe to pay but really want to join the Vanilla JS Academy. How else can I buy it?
Send me an email at and we’ll work something out so that you’re able to join.
I have another question.
No problem! Send me an email at

Join now →

Not ready yet? Get daily developer tips.

I send out a short email each weekday with code snippets, tools, techniques, and interesting stuff from around the web.