40+ JavaScript Projects For Your Portfolio [With Videos!]
Tags: javascript, webdev, tutorial, beginners
Published: 2020-02-19 16:57:23

This story was originally published on [The Smart Coder](https://thesmartcoder.dev/9-awesome-projects-you-can-build-with-vanilla-javascript/).

Let’s be honest right from the start. No matter how many books about programming you read, videos you watch, or podcasts you listen to, if you want to become a better developer, you have to practice continuously.

In the front-end space, a lot of frameworks exist: React, Angular, Vue, just to name a few. Every single one of them is awesome and without them, front-end development wouldn’t be in its current state. But what those frameworks, besides all their differences, have in common is that they are all based on JavaScript. Yep, good ol’ JS!

JavaScript is what runs the web today, no doubt. And for every [front end developer](https://thesmartcoder.dev/10-things-front-end-developers-should-learn-in-2021/), no matter if already experienced or at the start of their careers, it’s mandatory to know the basics of JavaScript, HTML, and CSS.

Frameworks come and go, but JavaScript will stay! But what's the best way to practice JavaScript? The best answer I can give you is to build projects!

## JavaScript Projects

JavaScript projects are guided tutorials or javascript project ideas that help you sharpen your skills by building real applications, websites, games, components, etc. Sometimes you will find project ideas that just contain a title and a few sentences of what you should build. 

Example: Build a counter with JavaScript that counts down the hours till the end of the year.

This format is good if you already have some experience and are just looking for some input.

## JavaScript Projects for Beginners

However, if you are new to web development, it's often better if you look for JavaScript project examples with source code or specific JavaScript projects for beginners. These often contain a running demo application, a GitHub repository with the source code, and a step-by-step guide on how to build the project.

## JavaScript Practice Projects

So for you to gain practice, I have listed nine awesome javascript project ideas that you can do to refresh your skills, learn new things about JS, and stay relevant in the future. All of them are based on pure JavaScript, some HTML, and some CSS. You can add them to your portfolio, show them to recruiters or potential employers, or keep them in your GitHub as references for future work. To be clear: This is not meant to teach you everything about JavaScript. There are perfect courses for you covering JS from A-Z. This is for building things. Getting your hands dirty. Working on your muscle memory.

##JavaScript Projects Overview
  * [Build a Meditation App JavaScript Project](#chapter-1)
  * [Build a Virtual Keyboard JavaScript Project](#chapter-2)
  * [Build an eCommerce Shopping Cart JavaScript Project](#chapter-3)
  * [Build a Weather App JavaScript Project](#chapter-4)
  * [Build an Issue Tracker JavaScript Project](#chapter-5)
  * [Build a PIN Pad JavaScript Project](#chapter-6)
  * [Build a Landing Page JavaScript Project](#chapter-7)
  * [Build a Rock Paper Scissors Game JavaScript Project](#chapter-8)
  * [Build a Tic Tac Toe Game JavaScript Project](#chapter-9)
  * [Bonus: Build 9-in-1 Mini JavaScript Projects](#chapter-10)
  * [Bonus: JavaScript Beginner Project Ideas](#chapter-11)
  * [Bonus: JavaScript Intermediate Project Ideas](#chapter-12)
  * [Bonus: JavaScript Advanced Project Ideas](#chapter-13)

To give you a headstart, I have rated those tutorial projects for you. But that’s only my opinion, so I highly recommend that you try them out for yourself because you know how to learn best and on what level you currently are.

---

##1. Build a Meditation App JavaScript Project <a name="chapter-1"></a>
{% youtube oMBXdZzYqEk %}

**What you will build**

You are going to build an application that provides ambient sound for meditation. Users can choose between different timers and sounds.

**Rating**

This tutorial makes use of Vanilla JavaScript, precisely what we’re aiming for. The instructor’s voice, as well as his instructions, are clear and good to understand. Furthermore, you will learn how to manipulate sound and video with JS. This is a fun javascript project that I really enjoy.

*5/5 Stars*

---

##2. Build a Virtual Keyboard JavaScript Project <a name="chapter-2"></a>
{% youtube N3cq0BHDMOY %}

**What you will build**

You are going to build a virtual keyboard from scratch with Vanilla JS, HTML, and CSS that can be used in the browser and will be responsive and touch-ready!

**Rating**

I like the originality of this project, it's a great javascript project idea. I haven’t created a virtual keyboard before so doing this with just JavaScript, HTML, and CSS was really a great experience for me. The instructor's voice is clear and he explains things pretty well.

*5/5 Stars*

---

##3. Build an eCommerce Shopping Cart JavaScript Project <a name="chapter-3"></a>
{% youtube 90PgFUPIybY %}

**What you will build**

You are going to build a shopping cart that can be used on online shops and eCommerce sites with Vanilla JS, HTML, and CSS. The instructor makes use of Contentful, which is a headless CMS for storing product information. Learning how to deal with Contentful or a headless CMS, in general, is not the primary focus of this piece, but it’s a great service, so you won’t regret seeing it in action.

**Rating**

The recording of this tutorial is really long. On the one hand, that’s impressive but on the other hand also a bit laborious. The voice of the instructor is clear and good to understand. It’s sometimes a bit hard to follow him, but that’s probably because of the complexity of this project. So this is rather an intermediate js project.

*4/5 Stars*

---

##4. Build a Weather App JavaScript Project <a name="chapter-4"></a>
{% youtube wPElVpR1rwA %} 

**What you will build**

This project is going to teach you how to build a weather application with Vanilla JS, HTML, and CSS. The instructor uses the Dark Sky API for fetching weather information, which is a great opportunity for you to learn how to interact with APIs, another great thing you can do with javascript.

**Rating**

This might be a good fit for your portfolio. If you already did project 1., you already know the instructor, and I can tell you he delivers high quality again. It seems like he really knows how to teach in an understandable and entertaining way.

*5/5 Stars*

---

##5. Build an Issue Tracker JavaScript Project <a name="chapter-5"></a>
{% youtube NYq9J-Eur9U %}

**What you will build**

In this tutorial, you’re going to build an issue tracker that can be used on any website for creating issues (for example with software products) with Vanilla JS, HTML, and CSS. This can also be a good addition to your portfolio and an excellent javascript project for beginners!

**Rating**

The instructor has a clear concept of what he wants to build with you. His voice is clear and good to understand, and this project is a javascript beginner project.

*4/5 Stars*

------

##6. Build a PIN Pad JavaScript Project <a name="chapter-6"></a>
{% youtube wWh8hwgeAMw %}

**What you will build**

In this javascript project, you are going to build a PIN Pad that runs in the browser and has the functionality to check PIN codes for their correctness. The instructor uses only Vanilla JS, HTML, and CSS for this tutorial. This is really an awesome javascript project idea for beginners so you definitely want to check it out!

**Rating**

I find it a very creative tutorial project to show you what Vanilla JavaScript is capable of. The instructor does a good job of explaining everything clearly and in an easy-to-follow way. This is a cool javascript project and I had a lot of fun doing it.

*4/5 Stars*

---

##7. Build a Landing Page JavaScript Project <a name="chapter-7"></a>
{% youtube fSTQzlprGLI %}

**What you will build**

Brad is going to show you how to build an interactive landing page that shows the time and the user’s name. The application uses local storage to store the name, so it’s nice for you to observe this.

**Rating**

Brad is well known for his complete and outstanding tutorials. This one is rather short and I would say simplistic but uses just JavaScript, HTML, and CSS and therefore is an excellent javascript practice project for beginners.

*4/5 Stars*

---

##8. Build a Rock Paper Scissors Game JavaScript Project <a name="chapter-8"></a>
{% youtube qWPtKtYEsN4 %}

**What you will build**

Building games can be a fun way to learn new things. JavaScript offers great possibilities to create browser-based games. In this tutorial project, you’re going to make the classic rock paper scissors game with JavaScript.

Rating

Like in Project 1., the instructor does a good job with this tutorial. He’s entertaining and one can follow him well. And again, this project is based on Vanilla JavaScript and a good javascript project for beginners!

*4/5 Stars*

---

##9. Build a Tic Tac Toe Game JavaScript Project <a name="chapter-9"></a>
{% youtube P2TcQ3h0ipQ %}

**What you will build**

In this project, you’re going to build a tic tac toe game which is a fun, but also complex, exercise because it uses basic AI and algorithms. But apart from that, everything is made with just Vanilla JS, HTML, and CSS. 

**Rating**

This project has a good size, a clear structure, and is fun to build. The instructor’s voice is clear and it’s easy to follow him. The explanations are really good, and you should feel pretty good in the end.

*5/5 Stars*

---

##Bonus: Build 9-in-1 Mini JavaScript Projects <a name="chapter-10"></a>
{% youtube Kp3HGwlXwCk %}

**What you will build**

This is a little bonus I wanted to present to you: one single recording that contains nine small, independent javascript projects for you to practice your JavaScript, HTML, and CSS skills on. Maybe you can use some of those snippets for your own site?

**Rating**

I like the idea of having multiple small snippets in one recording. The instructor’s voice could be more clear, and sometimes it’s a bit hard to follow him.

*3/5 Stars*

---

## More JavaScript Project Ideas
These are without a doubt some great projects to follow along with. If you want to create something on your own without following a step-by-step tutorial, I have some more ideas for javascript projects that you can build:

### JavaScript Beginner Projects <a name="chapter-11">

1. Database App with JavaScript
Task: Create a simple app that uses the IndexedDB of modern browsers for storing data.

2. JSON to CSV Converter with JavaScript
Task: Build a simple app where users can either paste a JSON string or upload a JSON file. The app should convert the input into CSV and display it to the user.

3. Countdown Timer with JavaScript
Task: Build a simple feature where users can enter a number of seconds and the feature starts a countdown.

4. Quiz App with JavaScript
Task: Build a simple quiz app where users can checkboxes for the right solutions.

5. Stopwatch App with JavaScript
Task: Build a simple stopwatch feature where users can start and stop a timer.

6. Notes App with JavaScript
Task: Create an app where users can take and manage notes.

7. Dollars to Cents Converter with JavaScript
Task: Users should be able to enter a number of dollars and the app presents them with the value in cents.

8. Pomodoro Clock with JavaScript
Task: Build an app where users can create work timers (25min), break timers (5min), and features to start/stop/reset these timers.

9. Recipe App with JavaScript
Task: Create an app where users can find recipes for different categories. Bonus: Integrate a recipe API.

10. Lorem Ipsum Generator with JavaScript
Task: Create an app or component that generates Lorem Ipsum text according to the length the user wants.

### JavaScript Intermediate Projects <a name="chapter-12">

1. Currency Converter with JavaScript
Task: Build an app to convert one currency into another.

2. Drawing App with JavaScript
Task: Users should be able to draw simple forms and paintings in their browser window.

3. Emoji App with JavaScript
Task: Build an app where users can search for emojis and copy them into the clipboard.

4. Meme Generator with JavaScript
Task: Build an app where users can upload images, add text to them, and save & download them.

5. Password Generator with JavaScript
Task: Users should be able to create random passwords with different rule sets like length, difficulty, characters, etc.

6. Image Scanner with JavaScript
Task: Build an app that reads and visualizes metadata of uploaded images.

7. To-Do App with JavaScript
Task: Create an app for managing to-dos.

8. Voting App with JavaScript
Task: Create an app where users can create polls for others to vote on.

9. Flashcards App with JavaScript
Task: Build an app where users can create flashcards for others to learn new things.

10. Book Finder App with JavaScript
Task: Create an app where users can search for books with different criteria like the author, year, content, recommendations, etc. Bonus: Integrate a books API.

### JavaScript Advanced Projects <a name="chapter-13">

1. Movie App with JavaScript
Task: Users should be able to browse movies, see ratings, find actors, get recommendations. Bonus: Integrate a movie API.

2. Survey App with JavaScript
Task: Users should be able to create surveys for others that can then take them.

3. Chat App with JavaScript
Task: User should be able to chat with each other in real-time.

4. Instagram Clone with JavaScript
Task: Users should be able to experience similar features that Instagram has. For example Image upload, tagging, likes, etc.

5. Twitter Clone with JavaScript
Task: Users should be able to experience similar features that Twitter has. For example Image upload, tagging, likes, etc.

6. Pinterest Clone with JavaScript
Task: Users should be able to experience similar features that Pinterest has. For example Image upload, collections, likes, etc.

7. Stock-Trading App with JavaScript
Task: Users should be able to watch charts and buy stocks (can be simulated of course). Bonus: Integrate a stock API.

8. Analytics App with JavaScript
Task: Create an app to track user behavior on a website, such as visits, bounce rate, etc.

9. Video App with JavaScript
Task: Create an app where users can upload and watch videos.

10. File Sharing App with JavaScript
Task: The user should be able to upload files with or without registration.

A good idea would be that you document it when you build a project and share that with the community!

---

Alright, that’s it for now. And I am pretty sure you cannot wait to get started with those great tutorials. But let me tell you one more thing. Watching the videos and coding along is a good way to learn things and get practice. However, you’ll get the most out of them if you add your own flavors to the projects — enhance them, change them, combine them, improve them. Or even better: Make your own project and document the making. You’ll learn a lot and others will be thankful for it! 

**Also, don't forget to follow me here and on [Twitter](https://twitter.com/simonholdorf) for more upcoming posts!**