The problem with most Project Idea lists is that the ideas on them may be neat if you want to learn something new, but they are most of the time completely USELESS 🙁.
That is why I created a list of cool side projects which will help you learn a lot but will also create something useful at the end.
Working on a side project is one of the best ways to develop yourself as a developer (good one, right?😉). You can broaden your skills by experimenting with new tools, techniques and maybe even a new programming language you've never used before.
And because the hardest part for most people is finding a cool side project that they could work on, I’ve listed 6 ideas for side projects that you could start working on today.
1. Expenses Tracker
If you're like me, you want to keep track of your expenses in a very light-weight fashion. You'll never track them if you need to wait for a spreadsheet to open and then navigate to a particular cell.
It would be much better if there was a command line tool where you could just write commands like this:
#Strucute Type amount comment #Example Expense 15 “Haircut” Income 3000 “Job”
And so on… You get the Idea. And after that you can export it to a cool looking Excel file/CSV (Whatever floats your boat🚣♀️).
Or if you want you could also create a more complex interface in which you could for example just take a photo of a receipt and then using some Machine Vision and NLP it could automagically know if it’s an expense/income, the amount, and create a comment.
But no matter how you deal with user input, you should add some cool analysis tools, so a user can find out where they spend/get most of their money, when they spend/get most of their money and so on.
2. Plagiarism Checker
Plagiarism is a complex issue, and it has been around since the dawn of human civilization. It can be seen as a crime or merely an act with no moral value attached to it on the basis of one's own point of view.
Theft is something to which we all know what it means and have certain ideas about how it should be handled, but plagiarism differs from theft in that not everyone finds fault with its existence.
But whatever you think about Plagiarism, a lot of people need a free Plagiarism Checker that can be used to check for plagiarism in documents.
Teachers who have to check for plagiarism in student assignment submissions can't just invest limitless money on some online tool - if students job isn't their own, how can anyone be sure they've learned something.
You can use some natural language processing (NLP) and maybe word2Vec (if you want to get more sophisticated with it 🤓) along with a Search Engine like Google, DuckDuckGo or Yahoo to create a program that searches the first few found website results, sentence by sentence for similarity.
You could start with just checking for exactly the same sentences, but since people often just paraphrase Words to similar once you could then create a sentence Vector (similar to a hash) of each sentence using word2Vec and then check for sentences with nearby vectors.
3. Clone One of Your Most-Used Apps, but Add One Thing You Want the Most
I know this one is kind of lame because YOU still have to come up with an idea instead of just copying it from my list 😅, but hear me out.
I'm not saying that you should commit any kind of copyright infringement or that you should be yet another knockoff without a conscience. The element you add to your program must be enough to make it special and worth the creation on its own.
So don’t just clone a service bit by bit.
You've probably got a few things that make you nuts in your most used programs. Make that feature the justification of your project. If the pain is strong enough that you want to build this new program, it will also make you the right person to know how it should be fixed.
Don't forget to check out some Blogs and Social Media like Twitter, YouTube and Reddit for further problems. These are areas where pain, feedback, and requests for features are most plentiful. If someone can give you the first spark you need, someone is probably also willing to pay for it.
4. YouTube Video Downloader
Since Convert2mp3.net was taken down for copyright infringement it has been hard to find a good Video Downloader which doesn’t get you all kinds of viruses. Convert2mp3.net got taken down for copyright infringement which is a good reason.
But for all of us who need a Video Downloader for not copyright infringing needs, it is far cry.
That is why one of the best ideas to start experimenting with coding is working on a YouTube video downloader.
You could use an already made python library like PyTube to download the videos and then just create the User Interface, queuing of the downloads and so on yourself.
Or you could write everything from scratch and find out how YouTube works by trying to download their video streams using HTTP requests.
5. Deal Finder
In my opinion, to save money is not only an important part of life but also a necessity. I think you will find that most people agree on this point.
So let’s help people with it.
You could create a whole search Engine like Trivago, by using API’s (or making your own wrapper using HTTP requests 😅) of marketplaces and then searching for the same Product on all Websites and then you could just compare them and their price per unit without needing any complex math.
You could even create a Browser extension which searches for a better price of a Product when you are visiting a marketplace to help the user in real time.
6. Website/Application Blocker
Humans are very inefficient. That is why they procrastinate and do not do things they’re supposed to do as soon as possible.
There are a number of reasons why people procrastinate, but there's one main factor that causes this behavior in most cases and it is fear.
Fear is a strong emotion that can many times hinder our ability to do something we're supposed to do. Fear hinders us from doing something for several reasons, one of which is thinking too much about what could go wrong if we complete the task.
So we rather distract ourselves with Social Media and stuff like that, so we don't have much time left to think of our fears
But if we force ourselves to not use Social Media, etc. we have to do something else to distract us from the fear… like actually working on fixing the reasons of our fear maybe?😅
So build an application that can be used to block certain websites from opening.
You could copy an existing one and follow what I said in my third Point to make it better.
For example, I'm using one called Cold Turkey (which is probably the most popular one out there) while studying. But since I am just using the free version there are still things that I'm missing from it.
Like Application Blocking, Scheduling and complete Device lock-out. (And maybe a better, clearer Interface 🧐)
While working on something you really like you’ll not only improve your skill set a lot you will also have created something actually useful not some lame tool which is on every other Project ideas list.
So get going and work on something and then share it on the Web so other people will know about your helpful Project you made.
You might even be able to sell your program - that's how Cold Turkey started.