Table of contents
No headings in the article.
A lot of people struggle when it comes to thinking of project ideas. Here is a list of 50 cool project ideas that you could build in 2021. I will even give you my technical stack as an example so you can figure out how you could do it too. These applications can be on the web, mobile and desktop. There is an unlimited choice of tools, technologies and programming languages that you could use to build them I am only showing some use cases here. Each project has a programming level of either beginner, intermediate or advanced. And these applications are created to be either front-end, back-end or full-stack.
My current technical stack is:
Front-End: HTML, CSS, JavaScript, TypeScript, React, React Native, Redux, Flutter/Dart Back-End: Python, Node.Js, SQL, NoSQL
- Social Media Dashboard
This could be an app that combines many social media networks into one interface. So for example you could have Twitter, Facebook, and Instagram all together. That means only having one browser tab opened and one unified user interface.
Programming Level: Advanced Project Type: Full-Stack
Front-End: HTML, CSS, TypeScript, React, Redux, React Native Back-End: Node.Js, NoSQL
- Dating App Manager
An app that would make it easy for you to manage your dating life. Because these days many people tend to use multiple dating apps so it can be hard for you to keep track of the dates you have planned. With this type of app you could keep track of all of the people you are currently talking to as well as basic information such as names, phone numbers, where you met etc...
Programming Level: Intermediate Project Type: Full-Stack
Front-End: HTML, CSS, JavaScript, React, React Native Back-End: Node.Js, NoSQL
- Computer Game Companion App
With this type of app you could essentially take your gaming experience with you. For example if you play a game like Fortnite you could build a mobile app that lets you track your stats. You could even have an inventory section for all of the emotes, weapons and accessories.
Programming Level: Intermediate Project Type: Full-Stack
Front-End: HTML, CSS, TypeScript, React, React Native Back-End: Node.Js, NoSQL
- Job Search App
How about creating a job search app that feels more like a dating app instead of the traditional serious looking job boards out there. So instead of doing the usual boring job application where you have to submit your CV and then wait for a generic email telling you that they received your application and will get back to you. You are instead given the ability to swipe if you think it's a match or not if you do not think so. Interaction with the hiring manager would feel so much more informal and casual. But of course there should be a way to limit interactions so it does not feel like spam and get overwhelming.
Programming Level: Intermediate Project Type: Full-Stack
Front-End: HTML, CSS, JavaScript, React, React Native Back-End: Node.Js, NoSQL
- 100DaysOfCode App
The 100DaysOfCode challenge helps people to commit to learning how to code consistently. Basically you just use the hashtag for 100DaysOfCode and then use Twitter to tweet your daily progress. At the moment there is no easy way to automatically keep track and schedule tweets for the hashtag. So you creating an app that automatically schedules the tweets as well as any media attached would be quite useful.
Programming Level: Intermediate Project Type: Full-Stack
Front-End: HTML, CSS, JavaScript, React, Flutter/Dart Back-End: Node.Js, SQL
- Social Network for Mental Health
This global pandemic has affected almost everyone's mental health in some way or form. Creating a safe place where people can talk about it and share stories would be great. It's a way for people to get stuff off their chest while also connecting with people who can relate to their issues.
Programming Level: Intermediate Project Type: Full-Stack
Front-End: HTML, CSS, JavaScript, React, Flutter/Dart Back-End: Node.Js, SQL
- Professional Singer Audio App
How about developing an app that lets the average person sing a song which is then enhanced so that it makes you sound like a professional singer? It could also have its own social network so that you can share original songs and albums.
Programming Level: Advanced Project Type: Full-Stack
Front-End: HTML, CSS, JavaScript, React, Flutter/Dart Back-End: Node.Js, SQL
- Fashion Design App Building a fashion design app that can create a personal style for you based on your personal choices and it gives you links to websites to purchase the clothing. With this concept it is essentially working as a personal style guide that works for you and gives you recommendations on what to buy which is fashionable for you.
Programming Level: Intermediate Project Type: Full-Stack
Front-End: HTML, CSS, JavaScript, React, Flutter/Dart Back-End: Node.Js, SQL
- Dating Life Community App
Not everyone finds dating easy so how about building a dating life community app where people can talk and share resources on how to meet people and get into relationships. Talking about personal experiences as well as tips.
Programming Level: Intermediate Project Type: Full-Stack
Front-End: HTML, CSS, TypeScript, React, React Native Back-End: Node.Js, NoSQL
- Lost Animals App
This is a cool idea you could develop an app that lets you tag a location of where you found a lost animal. With this kind of app you could potentially share the location with someone who has lost an animal so that they could find it. As an addition having the location of the nearest clinic nearby could make it even easier to take them some place safe.
Programming Level: Intermediate Project Type: Full-Stack
Front-End: HTML, CSS, JavaScript, React, Flutter/Dart Back-End: Node.Js, SQL
- A Review Website Aggregator As developers it can sometimes be hard to find a good course because there are so many on the internet. So creating a review website aggregator that pulls in reviews from courses all over the internet would be amazing. You could filter and sort through the courses which would make it super easy to decide on a learning path.
Programming Level: Advanced Project Type: Full-Stack
Front-End: HTML, CSS, JavaScript, React, Redux, React Native Back-End: Node.Js, NoSQL
- A Random Website Generator
Unless you have a design background it can be quite hard to come up with a design for an app or website. So with that in mind creating a random website generator would be very cool. In this case it would just put a design together which you could then build using the programming language of your choice. Or if you are feeling up for a challenge you could turn it into a full fledged website builder too that even generates the code!
Programming Level: Advanced Project Type: Full-Stack
Front-End: HTML, CSS, JavaScript Back-End: Python, SQL
- Dating App
The world is already full of dating apps but there is still no stand out app. They all have their pros and cons if you take a look at the reviews for them. So building a dating app that takes the best features of all apps while still remaining affordable or even free should persuade the masses to join.
Programming Level: Intermediate Project Type: Full-Stack
Front-End: HTML, CSS, JavaScript, React, Redux, Flutter/Dart Back-End: Node.Js, SQL
- E-Commerce Website
Shopping websites are always in high demand as people will always have things to sell. Giving someone their own personal platform for selling custom products is a good thing.
Programming Level: Intermediate Project Type: Full-Stack
Front-End: HTML, CSS, JavaScript, React, Redux, Flutter/Dart Back-End: Node.Js, NoSQL
- Random Meal Generator App
Deciding on what to cook or eat can be hard sometimes. Creating an application that can randomly generate meals and choose ingredients that work well together could improve your cooking skills. You could also discover some nice recipes which you could share with people.
Programming Level: Beginner Project Type: Front-End
Front-End: HTML, CSS, JavaScript Back-End: N/A
- Developer Freelance Platform
Similar to websites like Upwork and Fiverr however it is a platform that is ONLY for developers. It could be a platform that makes it easy for developers to find and connect with each other and work on projects together through collaboration. So you are not only getting fast and easy real world experience but you are also connecting with developers who are around your skill level. This would be a fantastic way to level up and an easy way for beginners to get work. I think it would be a good idea as it cuts out the recruiter completely and you don't need to stress over interviews. However there could be some form of onboarding and maybe tests depending on the work and the developers who work on it. These can be free open source projects or there can be some salary involved.
Programming Level: Intermediate Project Type: Full-Stack
Front-End: HTML, CSS, JavaScript, React, Redux, React Native Back-End: Node.Js, NoSQL
- TV Tracking App
This could be a simple app that just lets you plan what to watch during the week. So you don't need to rely on electronic programming guides or even a paper TV guide for the week.
Programming Level: Beginner Project Type: Front-End
Front-End: HTML, CSS, JavaScript Back-End: N/A
- Shopping Inventory App
Many people typically use a spreadsheet for keeping track of purchases and shopping habits. It would be much better in an app form. So just imagine creating an app that lets you track the stuff you buy so you know when you are running low on stock and need to buy more of that product.
Programming Level: Beginner Project Type: Front-End
Front-End: HTML, CSS, JavaScript Back-End: N/A
- Heads or Tails App
Because of this pandemic people are less likely to be carrying around loose change. Flipping a coin to make a decision has been around for years. Creating a Heads or Tails app should be fairly straightforward.
Programming Level: Beginner Project Type: Front-End
Front-End: HTML, CSS, JavaScript, Flutter/Dart Back-End: N/A
- Random Song Lyrics Generator App
Ever wanted to create your own song? Well, maybe one day you could write something amazing because of an app you created! Having an app do all the hard work for you makes it almost too easy assuming the words rhyme and go well together. Worst case scenario you end up with a funny song that goes viral.
Programming Level: Beginner Project Type: Front-End
Front-End: HTML, CSS, JavaScript Back-End: N/A
- Random Meme Generator App
We live for memes and they usually make us laugh or go viral. Making an app that can come up with some funny content could be pretty cool. Combining random text with images or even something that is animated would go a long way to stardom.
Programming Level: Beginner Project Type: Front-End
Front-End: HTML, CSS, JavaScript Back-End: N/A
- Series and Movie Watchlist API
You could create an API that stores all of the series and movies that you watch. This will not only let you keep track of your watch history but you could also potentially combine it with a front-end so that you have your own personal app with your watch habits.
Programming Level: Beginner Project Type: Back-End
Front-End: N/A Back-End: Node.js
- Random Map Generator
Coming up with a design for a game map can be quite tedious what if you could automatically generate a map? It does not have to be anything complicate or even 3D for that matter. If you are just making a simple 2D side scrolling game or top down view game it is far less work to create.
Programming Level: Intermediate Project Type: Front-End
Front-End: HTML, CSS, JavaScript Back-End: N/A
- Random Joke Generator
Everybody loves to laugh so making your own random joke generator app would be so worthwhile.
Programming Level: Beginner Project Type: Front-End
Front-End: HTML, CSS, JavaScript Back-End: N/A
- Medicine Tracker and Notification App
Managing your medication and knowing when and what to take as well as the dosage can be frustrating. Just create an app for managing your medication as well as doctors notes and you should be good to go.
Programming Level: Beginner Project Type: Front-End
Front-End: HTML, CSS, JavaScript Back-End: N/A
- Fashion Outfit App
This is an app that chooses outfits for you to wear in a week. So if you are the type of person who is indecisive you could take that all away by just letting this app randomly choose outfits for you to wear during the week based on some predefined presets.
Programming Level: Beginner Project Type: Front-End
Front-End: HTML, CSS, JavaScript Back-End: N/A
- Mindfulness App
Staying positive is extremely important for our health and well-being. So making an app that stores our journal messages and as well as having the ability to do daily gratitude would make it essential. If you are familiar with the Law of Attraction then you could even use it for scripting too.
Programming Level: Intermediate Project Type: Full-Stack
Front-End: HTML, CSS, JavaScript, React, Flutter/Dart Back-End: Node.Js, SQL
- Code Breaker App
It would be so cool to create your own secret language so making an app that lets you create and decrypt secret messages is a project worth considering. So you would write something which gets encrypted and then decrypted using an algorithm of some sort.
Programming Level: Advanced Project Type: Back-End
Front-End: N/A Back-End: Python
- Avatar Generator API
With this app it could have functionality which lets it randomly create avatars for using on profiles. So depending on the search term it returns relevant avatar images.
Programming Level: Beginner Project Type: Back-End
Front-End: N/A Back-End: Node.js
- Random Logo Generator API
An app like this could be as simple or as advanced as you want it to be. The logos generated could be used in production or just for testing purposes. So just imagine if you are building a test site but you don't have an official logo yet but you want to show something. Instead of making a mockup in Photoshop you could just use the API to create one for you.
Programming Level: Intermediate Project Type: Back-End
Front-End: N/A Back-End: Node.js
- News Aggregator
Deciding on a source to find news can sometimes make you unproductive. It would be much easier to have it all in one place. You could make a news aggregator website that pulls in news from multiple sources. This way you have a unified interface on one platform to read everything.
Programming Level: Intermediate Project Type: Full-Stack
Front-End: HTML, CSS, JavaScript, React, Redux, React Native Back-End: Node.Js, NoSQL
- Random Username Generator API
Coming up with a cool username can be so exhausting. Instead it would be much easier to just autogenerate one based one some keywords.
Programming Level: Intermediate Project Type: Back-End
Front-End: N/A Back-End: Python
- A Chatbot App
Chatbots remain popular because they can accomplish so much. It is like having your own personal helper. One example of a chatbot you could create is one that keeps track of your daily tasks and gives you recommendations on how to improve productivity. So in one use case maybe you spent 3 hours programming and skipped doing laundry on that day because you were too busy. The chatbot could help you to get better at time management and possibly even use pomodoro.
Programming Level: Intermediate Project Type: Full-Stack
Front-End: HTML, CSS, JavaScript, React, Redux, React Native Back-End: Node.Js, NoSQL
- Game Library App These days many people have multiple game libraries on different platforms. Or maybe they have forgotten many games that they have played over the years because back then they did not track everything they played. A solution can be to create a game library app so you can store all of your game history. This can include the year, game, genre, platform etc... Even if you currently own it or if you sold it and whether it's digital or a physical copy. An app like this could be expanded even further if you can make it into more of a social network so you can follow other peoples game list and they can do the same. The possibilities are endless.
Programming Level: Intermediate Project Type: Full-Stack
Front-End: HTML, CSS, JavaScript, React, Redux, React Native Back-End: Node.Js, NoSQL
- Food Social Network
It would be fun to create a food social network where you could discover new cuisines and even restaurants. So a place where people can share recipes, pictures and meal plans as well as restaurants and bars you should visit. You could even take it a step further and add dieting into the mix so it becomes a community where people try to stay healthy and can view their stats. Like weight, height etc...
Programming Level: Intermediate Project Type: Full-Stack
Front-End: HTML, CSS, JavaScript, React, Redux, React Native Back-End: Node.Js, NoSQL
- Home Room Decorator App
Ever struggled to come up with ideas of how you want a room to look? You could create an app that lets you create a floor plan for various rooms. Then you can add furniture and see how it would potentially look. This could then be shared with other people so you can get feedback. For example imagine that the app is 2D and you are looking down at the floor plan from above.
Programming Level: Intermediate Project Type: Front-End
Front-End: HTML, CSS, JavaScript Back-End: N/A
- Computer Game Strategy Network
It could be a social network where anyone can share tips, videos, and walkthroughs on how to become a pro player in the games that they play. So you could have sections for each game as well as tags for the genre of each game. And then everyone can post useful content which can include text, images or even videos like YouTube.
Programming Level: Intermediate Project Type: Full-Stack
Front-End: HTML, CSS, JavaScript, React, Redux, React Native Back-End: Node.Js, NoSQL
- Conversation Generator App
An app like this could use machine learning that lets people who are shy or socially awkward improve their conversation skills.
Programming Level: Advanced Project Type: Full-Stack
Front-End: HTML, CSS, JavaScript, React, Redux, React Native Back-End: Python, SQL
- Lego Builder Social Network
It could be a social network where people show off what they have built using lego as well as tutorials for building them.
Programming Level: Intermediate Project Type: Full-Stack
Front-End: HTML, CSS, JavaScript, React, Redux, React Native Back-End: Node.Js, NoSQL
- Job Search Manager App
Keeping track of all of the job applications that you do can be so tedious as there are tons of platforms to apply for jobs and it is not easy to keep track of them all. So creating an app where you can keep track of your applications, interviews, as well as feedback would do wonders. Sure you could use a simple spreadsheet but if you really want to be a power user then having a dedicated app would be much better. Plus you could export that data as CSV or json file so that you can do whatever you want with it.
Programming Level: Intermediate Project Type: Full-Stack
Front-End: HTML, CSS, JavaScript, React, Redux, Flutter/Dart Back-End: Node.Js, SQL
- A Quote Calculator App
How about building an app that does some kind of interesting calculation? Instead of the usual calculator app maybe this one calculates the price for accommodation. Another example can be an app that does a loan calculation with interest depending on how big the loan is.
Programming Level: Beginner Project Type: Front-End
Front-End: HTML, CSS, JavaScript Back-End: N/A
- A Random Daily Hobby Generator App
Deciding what you are going to do during downtime each day can be a headache. Or maybe you always stick to the same routine. Well, with this app it can randomly choose things for you to do each day. You could even give it the ability to track your fun level so maybe the same hobby becomes more frequent. Or even less if you want to be more spontaneous and try something different. A great way to form new habits too.
Programming Level: Beginner Project Type: Front-End
Front-End: HTML, CSS, JavaScript Back-End: N/A
- Clubhouse/Twitter Spaces Clone
These type of audio room apps are hot right now everyone wants to join! So why not try your hand at creating a cloned version of them. Who knows your version might turn out to be pretty popular one day.
Programming Level: Advanced Project Type: Full-Stack
Front-End: HTML, CSS, JavaScript, React, Redux, Flutter/Dart Back-End: Node.Js, SQL
- Web Crawler App
Web crawlers are used for scraping data from various websites. They are basically bots that search for data which is then indexed for other purposes.
Programming Level: Beginner Project Type: Back-End
Front-End: N/A Back-End: Python
- An Automatisation Tool
Using an automatisation tool gives you the ability to speed up workflows that you use often. Like for example setting up a product structure for an app or converting all files in a folder to something new like changing jpgs into png.
Programming Level: Beginner Project Type: Back-End
Front-End: N/A Back-End: Python
- Computer Game API
Maybe you want to create a game that has a lot of data. You could create a back-end api to hold all of that information which can be used in a front-end application.
Programming Level: Beginner Project Type: Back-End
Front-End: N/A Back-End: Node.js
- Finance Budgeting App
A Finance Budget App can let you see all of your incomings and outgoings as well as all purchases made annually so you can track them year by year. You can even set it up to check daily, monthly and annually giving you an overview of your spending habits.
Programming Level: Beginner Project Type: Front-End
Front-End: HTML, CSS, JavaScript Back-End: N/A
- A Food Diary App
Just a simple app for tracking the food you eat each day of the week. You could make it even more advanced by calculating your weight and calories so you know what changes there are.
Programming Level: Beginner Project Type: Front-End
Front-End: HTML, CSS, JavaScript Back-End: N/A
- Mood Journal App
This can be a simple app that lets you track your mood throughout the day. You can even turn it into a journal so you can leave your thoughts as notes.
Programming Level: Beginner Project Type: Front-End
Front-End: HTML, CSS, JavaScript, React Back-End: N/A
- Image Guessing Game App
For this app you could have an image which is hidden and you have to guess what type of image it is. So for example imagine that you have a selection of options and you need to choose the correct one. You should be able to keep track of the score and it should always be random so that no game is ever the same.
Programming Level: Beginner Project Type: Front-End
Front-End: HTML, CSS, JavaScript Back-End: N/A
- Blog
For this app you could fetch a data from another website and this website will be graphcms.com.
Front-End: Next JS, React JS Packages : graphql, graphql-request, html-react-parser, moment, react-multi-carousel, sass, swr Back-End: N/A