Best 15 Coding Side Project Ideas in 2021 for Beginners

Published by Piotr Blachnio on

Best 15 Coding Side Project Ideas

How to improve your skills as a programmer? Build side projects. How to become even better programmer? Build more side projects. This might seem simple, but in reality, it isn’t. Almost everybody has heard that creating side projects is the best way to improve your skills and grow as a programmer. However, when looking at the statistics, many people don’t build their own stuff or just do it wrong. Whether you’re a beginner, intermediate or advanced programmer, building side projects is always a fantastic idea to move yourself to the next level. In this article, you’ll find coding side project ideas for every programming level. You shouldn’t pick projects that look like a piece of cake for you because you wouldn’t learn much from them. On the other hand, selecting the most difficult ones can discourage and demotivate you.

Before we start, make sure you know some basics of programming. If you want to choose a programming language that really fits you, check out the Top 10 Programming Languages article. Now, let’s get into the project ideas!

1. Rock paper scissors

Rock paper scissors
Background vector created by freepik – www.freepik.com

Rock paper scissors game is one of the easiest tasks from this list of coding side project ideas. Start by taking input from a user and wait for him to make his move. He can enter one of the three options – rock, paper, or scissors. Meanwhile, you randomly generate the computer’s move. Then, you check whether the user won, lost, or tied and display the output. What’s more, you can also implement a scoreboard that tracks user’s results.

Difficulty – Beginner

Skills

  • Basic programming concepts

2. Guess the number

Searching for answer concept with big question mark
People vector created by fatmawatilauda – www.freepik.com

This project is similar to the previous one but with some additional features. First, you generate a random number from the range 1 to 100, and a user needs to guess it right. Whether the number is lower, higher, or he was correct, you share this feedback. By doing so, after each wrong guess, his chances increase. You can also limit the number of bad moves to 5. That means, when the user exceeds this cap, he automatically loses.

Difficulty – Beginner

Skills

  • Basic programming concepts

3. Quiz

Purple background with quiz word and colorful people
Background vector created by pikisuperstar – www.freepik.com

Imagine being in the TV show “Who Wants to Be a Millionaire?“. But instead of playing in front of the audience, you take this challenge in the terminal. Fortunately, it’s pretty easy and straightforward to build! First of all, create a JSON file with your questions and answers. If you don’t understand JSON yet, check out this tutorial. The application flow is really simple – you display a question and wait for the user to answer it. If he’s right, give him one point. Repeat this process as long as there are more questions. In the end, create a high score list where you will add users that have taken your challenge.

Difficulty – Beginner

Skills

  • Basic programming concepts
  • JSON files

4. Tic-tac-toe

Tic Tac Toe Project Idea

Tic Tac Toe game can have many variations. In our case, we’ll go with the easiest approach – two people playing locally. Start by displaying an empty board in the console. Now, the user needs to make his move. After he submits it, you print the board again, but this time with “X” inside it. Then, starts the second player’s tour. This time, you put “O” in one of the empty squares. After updating the board, repeat this process. The game ends when somebody gets 3 of his marks in a row, or there are no blank squares left.

Difficulty – Beginner

Skills

  • Basic programming concepts

5. Hangman

Brown Rope on the wood

Hangman is also a game based on randomness and guessing. This time, a user will try to find a hidden word. First of all, prepare a file containing all the phrases. It can be either a simple text file or JSON. Now, start your application by reading a list of words and picking a random one. Display it in the form of symbols in the console and ask the user to enter a single letter. If he selected one that exists in the word – reveal it.

Example: Your word is chicken, and the user enters the letter c. In this case, you need to display the following result: c**c***

You should also limit the number of wrong guesses and end the game after exceeding it. What’s more, you need to check if the user gives you only a single letter. Otherwise, you need to display an error message.

Difficulty – Beginner

Skills

  • Basic programming concepts
  • Filesystem

6. URL Shortener API

WWW concept illustration
House vector created by stories – www.freepik.com

To get some inspiration for this project, you can check some popular websites like cutt.lybit.ly, or shorturl.at. Start by creating a REST API with a single endpoint where users can shorten their URLs. In the request, a user needs to provide his link and expiration date as an optional parameter. Then, he receives a response containing his short URL. You should store every address and constantly remove expired ones. You can save them to a database, in-memory database, or just keep them in a variable.

Difficulty – Intermediate

Skills

  • REST API
  • Data storage

7. Portfolio

Portfolio website presented as a coding project idea
Resume vector created by stories – www.freepik.com

We’re halfway through the best coding side project ideas, but I wanna let you know that I really appreciate your support and attention. It means a lot to me. Thank you!

I believe that almost every programmer should have a portfolio. That is a great way to demonstrate his competence and the fantastic projects he has built. That’s why this idea won’t only improve your skills but also give you an essential asset for your programming career. Start with a simple design. Include your previous projects that can showcase your skills and add links to the places where people can reach out to you. Don’t forget to deploy the website and make it live!

If you really want to make an outstanding design, here are some exceptional portfolio websites to inspire you:

Difficulty – Intermediate

Skills

  • UI/UX

8. Weather Application

Meteorology abstract concept vector illustration
Education vector created by vectorjuice – www.freepik.com

This application will allow people to quickly find relevant information about the current and future weather. Depending on your niche, it can be a website, desktop, or mobile application. To get weather data, you need to connect and interact with a weather API. There are literally tons of them, and here is an example one. After you set up a connection with API, you need to create the user interface and display relevant data. You should also allow the user to filter information based on his current location and time.

Difficulty – Intermediate

Skills

  • APIs
  • UI/UX

9. Encryption and decryption algorithm

Data protection law illustration
Security vector created by stories – www.freepik.com

If you wanna improve your data structures and algorithms skills, this project is definitely for you. What’s more, building such a mechanism can be really fun. Imagine sending an encrypted message to your colleague while nobody can understand it but him. Here is an example:

The following sentence “The quick brown fox jumps over 13 lazy dogs.” encrypted in one of the most popular algorithms called Vigenère cipher will look pretty similar to this one “Vyc fnqeb zghep wmm ccogq domt 13 cyor lqxq.

Unfortunately, I cannot give you any detaied steps now. You need to come up with your own algorithm idea and test its effectiveness. However, I can honestly say that this project will be worth your time and effort.

Difficulty – Intermediate

Skills

  • Data structures
  • Algorithms

10. Expense tracker

People vector created by pch.vector – www.freepik.com

This project focuses on many areas of programming. First of all, you need to create an interface where users can add their expenses and earnings. What’s more, the data should be visualized in the form of a chart so that it can be easily readable. And finally, all the progress needs to be saved in a database, file, or something else that will fit your specific use case.

Difficulty – Intermediate

Skills

  • UI/UX
  • Data visualization
  • Databases

11. Social Networking Website

Illustration of social media concept
Background vector created by rawpixel.com – www.freepik.com

In other words – build your own Facebook. The easiest approach is to check social networking sites (e.x. Facebook, Twitter, Reddit) and take inspiration from them. As you probably know, your application needs to have a user interface, API, and database to store all the information. You’ll also get bonus points if you implement geolocation features. For example, showing people that are close to a user’s location.

Difficulty – Advanced

Skills

  • REST API
  • UI/UX
  • Databases

12. E-commerce store

Happy people shopping online
Woman vector created by pch.vector – www.freepik.com

An e-commerce store is an excellent example of a full-stack website. You should build a complete user interface on the client-side, including parts like homepage, menu with multiple categories and products, search engine, and order page. Your backend will consist of an API that will handle the incoming requests and a database to persist all the required information. Also, don’t forget to implement a payment gateway because it’s a really essential part.

Difficulty – Advanced

Skills

  • REST API
  • UI/UX
  • Databases
  • Payments
Skill up. Online courses from $9.99

13. SQL Database

Big data center, server room rack, engineering process, teamwork, computer technology, cloud storage
Banner vector created by fullvector – www.freepik.com

This project will help you practice regex expressions and string manipulation skills. It’s a simple SQL database supporting a few existing queries. The most popular ones such as SELECT, INSERT, UPDATE, and DELETE will be enough. To store the required data, you can use a JSON file or just save it in the memory. The most challenging part is actually detecting malformed queries and execute only the valid ones. You’ll probably face some issues along the way but keep in mind that people learn the most by making mistakes.

Difficulty – Advanced

Skills

  • Regex
  • String manipulation
  • Data structures
  • Algorithms

14. Udemy Clone

Linear flat online education website hero image illustration. educational and knowledge
Certificate vector created by sentavio – www.freepik.com

Everybody knows Udemy. It’s a place where you can buy someone else’s course or sell your own one. Your application should have all the essential features such as authentication, video transmission, and search engine. I’ve seen many people trying to build a Udemy clone. However, most of their projects consisted of a simple user interface and a bit of server-side logic. That’s a mistake for me because you don’t learn much by doing easy things. You should focus on making it as realistic as possible to maximize acquired knowledge and showcase your skills to a potential employer.

Difficulty – Advanced

Skills

  • REST API
  • UI/UX
  • Video transmitting
  • Databases
  • Payments

15. Chess

Honestly speaking, it’s the most challenging task on this list of coding side project ideas. A chess game may seem pretty simple to build, but in reality, it isn’t. Your application will have two modes: single-player and multi-player. In the single-player mode, you need to create a machine learning algorithm that actually knows how to play chess. What’s more, a user should be able to choose the difficulty level in the range from 1 to 10. In terms of the multi-player mode, the rules are the same. The only difference is instead of a bot, there will be another user. In order for players to make live moves, you need to use a real-time protocol that will allow you to update changes in real-time (ex. Websockets).

Difficulty – Advanced

Skills

  • UI/UX
  • REST API
  • Real-time communication
  • Machine Learning
  • Data structures
  • Algorithms

Best 15 Coding Side Project Ideas – Conclusion

You’ve just read an article about the best coding side project ideas. Now, it’s time for you to take action. Choose a project that really fascinates, inspires, and motivates you. But what’s more important, you need to be consistent. Stick to your idea and if you face any roadblocks, let me know in the comment section below. I’ll be happy to help you.

If this article gave you some value, don’t forget to share it with other peopleThank you!


0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *