Holiday Sale!

All Courses 50% off!

$139$69 EACH โ€” SKILL UP IN 2023!

WOAH! Any Package โ€” Includes Team Licenses!

Applies to Beginner JavaScript, Master Gatsby, React For Beginners, Learn Node, ES6+ for Everyone and Advanced React



My Account โ†’

The best way to learn server-side JavaScript!

A premium training course to learn to build apps with Node.js, Express, MongoDB, and friends.

Start Learning Now โ†’

Learn to build applications and APIs with Node.js

Node.js, Express, MongoDB and friends are some of the most in-demand web development skills. This course is the cumulation of everything I've learned building dozens of Node.js applications over the past five years.

With a focus on modern JavaScript and real world application, Learn Node is an efficient way to add server side JavaScript to your skill-set and start building the applications you have been dreaming about.

Join me as I show you how to build full stack applications and APIs from start to finish with some of today's top JavaScript technology.

Buy the Course โ†’

Together we will build "Now That's Delicious!", a full stack restaurant application which users can search, geolocate, review and curate their favourite restaurants from around the world.

The application has three main models โ€” Users, Stores and Reviews โ€” all of which are relational. It is designed to hit upon many of today's application needs such as user authentication, database storage, Ajax REST API, file upload and image resizing.

Laptop Showing example Application we build in the course
iPhone Showing example Application we build in the course

Sweet Code! โ€” The code in the application has been reviewed and influenced by some of our industry's best Node.js developers.

Jed Watson

JavaScript developer creator of Keystone JS which is a CMS built on top of Express. Elemental UI and Touchstone JS. Co-host of React Sydney and the React Podcast.

Jamund Ferguson

JavaScript Engineer at PayPal. Has done a lot of research into async + await with Node.js and is a key advisor to how the error handling is done in this course.

Async + Await APIs used in this course

You'll learn with the latest and greatest updates to JavaScript.

ES2017 Async + Await allows us to craft easy to read, logical flows without relying on external flow control libraries, chaining multiple promises, or writing spaghetti code by nesting callbacks.

ES6 features are heavily used throughout the course โ€” from destructuring to arrow functions you'll get to see how to implement these new features in real world scenarios.

Wondering where the try / catch is in the screenshot? Join the course to see how we handle errors with something called function composition.

Wes Bos

Meet Wes Bos

Wes Bos is a Full Stack Developer, Speaker and Teacher from Canada. He is a course creator, works as an independent web developer and is the co-host of Syntax - a popular web development podcast. Wes has taught over 500 students in 200+ classes and spoken at dozens of conferences around the world. Wes wrote his own bio in the third person for some reason.

Wes is the author of React For Beginners, Advanced React and GraphQL, ES6 for Everyone and Learn Node which together have sold over 55,000 copies. He is also the author of,, and Command Line Power User, a set of free video series. 300,000 people have taken at least one of Wes' free video courses.

Almost anyone who is looking to get stronger with JavaScript. We start beginner and go pretty deep.

Advanced devs will be able to go through the course a little more quickly, but I've designed this course to be as approachable as possible.

This course is done in ES6 so there is liberal use of arrow functions, template strings, destructuring and other ES6 goodies. If you haven't done much ES6, you'll have an easier time with the course if you do at least the first half of my ES6 for Everyone course first.

This isn't JavaScript 101. You should have knowledge of how functions, variables, Objects, Arrays and other fundamentals work.

  • Front End Devs looking to go Full Stack
  • Existing server side developers looking to understand the Node stack.
  • WordPress developers looking for a little more control
  • JS developers looking to advance their career.
  • Existing Node.js developers looking to fill in any gaps and update to modern workflows and design patterns.
  • Anyone who wants to get better at JavaScript and learns well from seeing both fundamental and advanced concepts in practice.

Not sure if it's for you?

100% money back if you don't think it's a good fit ๐Ÿ’ฐ

In each video, we learn and implement a concept into our application. Many of the concepts we return to over and over for different parts of the application, hitting and solving new problems each time.

This course covers a ton. Along with general JavaScript best practices, here are some of the things you can expect to learn:

  • User Accounts
  • REST API endpoints
  • Database Schemas
  • Document Relationships
  • Templating and Mixins
  • Restricting Operations
  • Middleware
  • Image Resizing
  • Password Reset Flow
  • Storing Geospatial Data
  • Routing
  • Flow Control
  • Error Handling
  • Advanced DB Queries
  • File Uploading
  • Sending Email
  • MVC Pattern
  • Geocoding Addresses
  • Pagination
  • Server Deployment

๐Ÿ‘Œ Video pacing is just right
fast enough to keep you interested without passing by or assuming any details.

Seriously, it won't put you to sleep - I'm even funny sometimes.


foo? bar? baz? wtf?

This series was made for humans.
Our application build covers real world scenarios and solves real world problems.
100% free of jargon and metasyntactic variables. Foo Yea!


...and 145,523 words provided with the videos captions
Incremental, Referenceable and Easy To Digest

Each video breaks down a specific part of building a Node application and allows for quick referencing in the future. You can binge watch them all today or do a few each day during your lunch or on your commute.

Closed Captioning and Transcripts are provided for every video

    Module #1
    Introduction and Setup

  1. Getting Setup

  2. Setting up Mongo DB

  3. Starter Files and Environmental Variables

  4. Module #2
    Core Concepts

  5. Core Concept - Routing

  6. Core Concept - Templating

  7. Core Concept - Template Helpers

  8. Core Concept - Controllers and the MVC Pattern

  9. Core Concept - Middleware and Error Handling

  10. Module #3
    Database Storage

  11. Creating our Store Model

  12. Saving Stores and using Mixins

  13. Module #4
    Control Flow

  14. Using Async Await

  15. Flash Messages

  16. Querying our Database for Stores

  17. Creating an Editing Flow for Stores

  18. Module #5

  19. Saving Lat and Lng for each store

  20. Geocoding Data with Google Maps

  21. Quick Data Visualization Tip

  22. Module #6
    File Handing and Image Resizing

  23. Uploading and Resizing Images with Middleware

  24. Routing and Templating Single Stores

  25. Module #7
    Custom Queries and Hooks

  26. Using Pre-Save hooks to make Unique Slugs

  27. Custom MongoDB Aggregations

  28. Multiple Query Promises with Async:Await

  29. Module #8
    User Accounts and Authentication

  30. Creating User Accounts

  31. Saving Registered Users to the Database

  32. Virtual Fields, Login:Logout middleware and Protecting Routes

  33. Creating a User Account Edit Screen

  34. Password Reset Flow

  35. Module #9
    Advanced - Email and Permissions

  36. Sending email with Nodejs

  37. Locking down our application with User Permissions

  38. Module #10
    Ajax REST API 1

  39. Loading Sample Data

  40. JSON endpoints and creating MongoDB Indexes

  41. Creating an Ajax Search Interface

  42. Module #11
    Ajax REST API 2

  43. Creating a Geospatial Ajax Endpoint

  44. Plotting Stores on a Custom Google Map

  45. Module #12
    Ajax REST API 3

  46. Pushing User Data to our API

  47. Displaying our Hearted Stores

  48. Module #13
    Advanced Relationships + Aggregations

  49. Adding a Reviews Data Model

  50. Advanced Relationship Population - Displaying Our Reviews

  51. Advanced Aggregation

  52. Module #14

  53. Implementing Pagination

  54. Module #15

  55. Deployment Setup

  56. Deploying to Now

  57. Deploying to Heroku

  58. Deploying to Digital Ocean Linux


Starter Course

  • Access to the first 7 Modules / 22 HD Video Tutorials
  • Stream course from any device
  • Source Code โ€” Completed Examples and Exercises
  • $25 Digital Ocean hosting credit (valid for new Customers only)
  • Unlimited Updates + Never Expires
  • SlackExclusive access to the Learn Node Slack Chat Room where you can ask for help and chat with other learners

Master Package

  • Access to all 15 Modules / 44 HD Videos โ€” see above for a full listing of topics
  • Stream and Download DRM-free files from any device
  • Includes Authentication, Sending Email and AJAX REST API
  • Deployment, Pagination, Advanced Aggregations and more
  • All Source Code โ€” Completed Examples, Exercises, Webpack files and npm scripts
  • $25 Digital Ocean hosting credit (valid for new Customers only)
  • Unlimited Updates + Never Expires
  • SlackExclusive access to the Learn Node Slack Chat Room where you can ask for help and chat with other learners

Team License Packages

With a team license you can buy a number of spots to allocate to employees. The spots do not expire and you can fill the spots via the dashboard whenever you like.

Perfect for on-boarding new hires, interns and contractors to your tech stack.

The team license includes everything in the Master Package above.

For larger groups or for on-site training contact me for more info!

All prices in USD

Worth It?

Need to convince your Boss?

I've put over 5 months of my time into this course gaining a deep understanding of each feature, creating examples and distilling it into something that is easy for you to consume.

This course should take you between 10 and 20 hours to complete versus anywhere from 100 to 400 hours to learn on your own, scraping together resources.

I've spent the time so you don't have to. Spend a few hours learning Node with me and you'll save yourself hours of Googling and Stack Overflowing in the future. I'll mama bird you the stuff you need to know to keep building the things you make.

As with all my courses, there is 100% money back if it's not a good fit. Give it a shot!

What is the front end written in?

The interactive parts โ€” search, map, hearting stores and geocoding โ€” are done with Vanilla ES6 JS modules, Axios (AJAX Library) and the Google Maps API. You could totally do these parts of the application in React, Vue, Angular or any other framework that you prefer though it might be a bit overkill.

The provided styles are written in Sass.

The templating is written in Pug (formerly named pug).

All the front end dependencies are compiled with Webpack.

Do these videos expire? Is this a monthly cost?

Nope and nope. Pay once, have them forever.

Do you provide a certificate of completion?

Sure do! In your course dashboard you can download an official certificate of completion that can be used to be reimbursed by your employer or land that dream job you are applying for.

Can I put the code on GitHub? Can I put this app in my portfolio?

Absolutely - I just ask that you don't create your own course teaching Node.js with this app. Otherwise, go nuts! You can credit my course if you like, but it's not required as you might be using this app to get a job :)

What other courses do you have?

I've got a bunch of free and premium web development courses โ€” check out the whole listing over at

I lost, deleted or never got my welcome email! What do I do?

Log into your account, or create an account with the same email you used to buy the series.

What format are the videos? How do I watch them?

Once you buy a package, you will be mailed access to your account dashboard where you can stream all the videos. Buyers of the Master Package will also be able to download them for off-line viewing. All the videos were professionally recorded at 1920×1080 with top quality audio โ€” no pops, echoes, chair squeaks, breathing or gross mouth sounds here!

What if I'm not thrilled?

I want to make sure you get real value out of this so I only want your money if you are happy with the product! If you aren't satisfied, please send an email to with a copy of your welcome email and I will refund you.

Do you offer a student discount?

Absolutely! Fill out this form with some proof that you are a student and I'll send you a discount code. This applies to anyone in any type of schooling, including evening classes and coding bootcamps!

If you have received a student discount for a previous product, it's the same code ๐Ÿ˜‰.

What theme do you use? What is that font? What terminal do you use? What kind of bread do you buy?

I've detailed my entire setup over here, feel free to tweet me with any more questions you have about setting things up.

I have another question!

Sure - email me at or give me a call 416-833-3641!

React For Beginners


Secure SSL Payment via Stripe

Secure SSL Payment via PayPal