Skip to main content Accessibility Feedback

Web Apps

Build interactive web apps and single page apps without libraries or frameworks.

Learn the ins-and-outs of writing web apps with vanilla JavaScript in about an hour.

This guide is short, focused, and made for beginners. Get hands-on learning and grow your portfolio building a real, working web app.

🔥 New! Updated with new resources and more backwards-compatible polyfills.


  • Chobani
  • 10up
  • The Boston Globe

What you’ll learn

  • How to render dynamic content into the DOM.
  • How to detect changes to your data and selectively update content.
  • How to listen for user interactions and behaviors.
  • How to manage state and data reactivity.
  • How to handle URL routing with single page apps.
  • How to put it all together and write a working web app with vanilla JavaScript.

📱Read in DRM-free ebook format or watch streaming HD video on any device.

Loved your book, it's become a daily reference for me. Fantastic stuff!- Chris Baughman

Learn by doing with a real JavaScript project

Reinforce your learning and build your portfolio by working on a real project. Together, we’ll build a web app that that let’s you randomly pick who’s going to drive from a group of friends.

BONUS: Don't go it alone! Get exclusive Slack access.

You get exclusive access to my private Slack team, where you can chat with other students, get feedback on code, ask questions, and share the latest tips, tricks, and strategies for going vanilla JavaScript.

This is not available for sale at any price, and my students regularly tell me it's one of the most valuable things that comes with the guides.

Start learning now →

The cheat sheet and the ability to ask questions on Slack were worth the price of the book alone.- David Buchholz

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 learning path or jump around based on your needs.
  • Work on real projects and build your portfolio.

A Sample Lesson

How to create and update the DOM based on the current state of your data.

Try it for free

Want to get a sense for what my pocket guides are like? Get a free copy of the DOM Manipulation guide in PDF format.

This isn't a sample chapter. It's the full guide. The paid version comes in more formats and includes the source code for the lessons and project.

Download the PDF

Your 100% Money-Back Guarantee 💰

Don’t put off learning vanilla JavaScript! If you’re not 100% satisfied with the pocket guide, let me know and I’ll give you a full refund.

About the Instructor

Chris Ferdinandi

Hi, I'm Chris Ferdinandi. I believe there’s a simpler, more resilient way to make things for the web.

I’ve taught developers at organizations like Chobani and the Boston Globe, and my JavaScript plugins have been used by organizations like Apple and Harvard Business School. My developer tips newsletter is read by over 7,600 developers each weekday.

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 buy?

Get everything you need to start building web apps with vanilla JavaScript:

  • The Pocket Guide (in ebook format, streaming HD video, or both)
  • The Source Code & Demos
  • Exclusive Slack Access
  • FREE Updates for Life

Get the Ebook + the Videos - $74

Want to save 30%? Get this pocket guide as part of the Complete Set or Advanced Bundle.

Want to buy these for your whole team? I offer team licenses at a steep discount. Send me an email at chris@gomakethings.com to discuss your needs.

If you’re a beginner, or just looking to fill in some knowledge gaps, the Vanilla JavaScript Pocket Guides from Chris Ferdinandi are clear, informative and to the point. Cannot recommend enough!- Dino Koutrouzas

I've been stuck on the same JavaScript project for AGES, but I'm so happy because I've finally managed to finish it all thanks to Chris Ferdinandi!

I found out about him, signed up for his daily newsletter and bought his Vanilla JS Guides. I'm so glad I did because I've only worked through two of the guides and yet he's COMPLETELY changed the way I think about JavaScript.

Putting everything he's taught me into practice, I managed to rewrite the project over a weekend! He was even kind enough to personally help me on Slack with an aspect I was particularly struggling with... I SERIOUSLY recommend checking him out! 😄

- Kieran Barker
Chris’s pocket guides are great. I definitely recommend picking them up if you’re learning or interested in learning Vanilla JavaScript.- Scott Tirrell
I thank you from the bottom of my heart. If it had not been for you, I would not be able to learn JavaScript.- Patricia Parker
Wanting to learn JavaScript from scratch, make the transition from jQuery or some other library? Already pretty competent and just want to get better?

Chris Ferdinandi has got your back and his learning platform is a *tremendously good value*.- Jonathan Schofield

Frequently Asked Questions

Does the pocket guide include 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 if I buy a pocket guide and you release an update? Will I need to buy the new version, too?
No. You get free updates for life, sent to you by email whenever new content is available.
Can I buy a print version of the pocket guide?
Pocket guides are available exclusively in digital formats. This makes it easy for you to get updates whenever new techniques, approaches, and best practices emerge. Given the rapidly changing nature of the web, this ensures you'll always have the latest and greatest version of the guide.
Do you offer team discounts?
Yes! I offer team licenses at a steep discount. Send me an email at chris@gomakethings.com to discuss your needs.
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 pocket guides are unaffordable. Send me an email at chris@gomakethings.com 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 pocket guide, email me at chris@gomakethings.com and I’ll give you a full refund.
If I buy just one guide and love it, can I upgrade to a bundle?
Absolutely. Just send me an email at chris@gomakethings.com for a special discount code for the difference between the two packages.
If I buy the ebook and decide I'd also like the video series, can I upgrade?
Absolutely. Just send me an email at chris@gomakethings.com for a special discount code for the difference between the two formats.
I lost or never received my download link. What do I do?
Visit https://courses.gomakethings.com and create an account with the email address you used to make your purchase to access your downloads at any time.
Are there any restrictions on the pocket guides or source code?
Nope. I trust you to do the right thing. My content is 100% DRM free. If you'd like to share the pocket guide with others, please email me at chris@gomakethings.com for information about team pricing.
Do I need any special tools or equipment to use the pocket guides?
All you need to work with the source code and projects is a modern web browser and a text editor (I recommend VS Code). The pocket guides come in PDF, EPUB, MOBI, and HTML formats, so you can read it on any device you own.
Do I need any prior knowledge or experience to learn vanilla JavaScript?
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 guide is a great resource! If you have any specific questions, though, please email me at chris@gomakethings.com.
Are there any rules or requirements around the Slack team?
Yes. You must be at least 18 years old, and read and agree to follow the Code of Conduct.
I have another question.
No problem! Send me an email at chris@gomakethings.com.

Start learning now →

God, you're amazing... I'm learning so much from you.- Mojtaba Seyedi, Front End Developer
Ever wanted to ditch jQuery but not sure how? This book by Chris Ferdinandi will set you on the right path.- Jeremy Green

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. Join 7,600+ daily subscribers.

If you have any questions about anything, feel free to send me an email at chris@gomakethings.com