JS30 is a series based off Wes Bos's JS30 video course. The spirit of the course is to help learners learn javascript by building small apps from scratch - without any library or frameworks.
I've written 30 blog posts in the series - one for each video/tutorial. Each post details the whole tutorial and has the embedded video + the code pen of the starter files and finished files. Also included are the relevant links to the MDN docs.
This is the 20th project of Wes Bos's JS30 series. Today we learn how to use the built in Speech Recognition in the browser. Text to speech in realtime.
This is the 19th project of Wes Bos's JS30 series. Today we'll use getUserMedia and Canvas to capture a video stream from a user's webcam and manipulate the pixels.
This is the 18th project of Wes Bos's JS30 series. Today we'll be using map and reduce to add time of individual videos find the total time of a playlist.
This is the 17th project of Wes Bos's JS30 series. Today we learn how to sort HTML elements based based on their text content. This is essentially an exercise in array and string manipulation.
This is the 16th project of Wes Bos's JS30 series. We'll be creating an effect where the text shadow of an element is controlled by the mouse position!
This is the 15th project of Wes Bos's JS30 series. We'll be building a to-do list of sorts, with local storage to persist the information across a refresh or reload.
This is the 14th exercise of Wes Bos's JS30 series - A series of experiments to understand the difference between copying by value and by reference.
This is the 13th project of Wes Bos's JS30 series. We'll be building an image slide in animation which is triggered by scroll.
This is the 12th project of Wes Bos's JS30 series. We'll be building a key sequence detector.
This is the eleventh project of Wes Bos's JS30 series. We'll be building our own custom HTML5 video player.