4 Simple Strategies to Come up with Project Ideas for Learning to Code
One of the best ways to learn quickly while also building your portfolio is to begin working on projects right away. The more you code, and the more personalized your code is to your own interests, the faster you will learn.
The problem, however…is that as a new programmer (or just in general) is that coming up with ideas for projects is hard! How do you even know what to try and code? No worries, I’ll help with that :)
Idea Vomit - Brainstorming to the max
Something that has really been helping me a ton with coming up with ideas is what I like to call idea vomit. It’s really easy for me to be super picky-choosy when it comes to ideas, but I always have random things pop into my head.
What I’ve begun doing now is keeping massive lists of “idea vomit” where I force myself to just spit out 50-100 ideas. It is very difficult to come up with that many useable ideas, HOWEVER the idea is that you force yourself to just get every little thing out and stop being perfectionist on what ideas you have.
Give yourself a timebox of about 30 minutes or so and just go wild. Write down literally everything you can possibly think of, and then you can go back and sort that list based on priority of what is good, and add to it as you go.
In addition to project ideas, I actually use this concept for coming up with blog posts, dreams, goals, youtube video ideas, food choices, and whatever else comes up that requires decision making.
So, read on and try to apply the tips below to your “idea vomit” list. Evernote is a great way to store these ideas, but you can use whatever storage you prefer. (Or create your own note storage app, hey there is an idea!)
Solve real problems
First and foremost, begin by mapping out what it is that you do on a day to day basis. What are the activities that you find yourself repeating, and what are some challenges or annoyances that you face? Some of the best projects come from solving real problems.
The great thing about programming is that we have the power to make things so much easier! The creator of Reddit built the website as a way to help him find all of the best news that he wanted to see much easier, because he was spending a ton of time searching multiple websites. I came up with my personal finance app idea because of being annoyed by complex money apps, and feeling really disorganized with keeping everything in a spreadsheet.
So to recap, ask yourself these questions:
- What is important to you?
- What would make your life easier?
- How can you automate some monotonous tasks?
- What would make your day more enjoyable?
- What challenges do others face that you care about solving?
Copying popular websites and apps
Creating your own ideas or solutions isn’t always the easiest thing to do, I’ll admit. Also as a beginner creating something from scratch can be scary! Well, in some cases it is also a great exercise to create a simple version of popular websites and apps.
The most common things to do are create personal Todo apps, Twitter / Reddit / Facebook clones, and so on.
Try to come up with the minimal required specs for copying the functionality of a website that you would love to be able to create and then build it! The other good thing about this idea, is that a lot of times someone else has done this too and you can probably find a tutorial on it, such as the Michael Hartl book.
Use someone else’s ideas
This is my least favorite option, as using ideas you are personally interested in will give you the most motivation and reason to learn, however sometimes you can become excited about an idea you took from someone else.
One thing that is always great to do, is contribute to an open source project that you really enjoy. Not only are you getting experience, but you are helping out the community!
Find someone who you look up to or can learn from, and ask if they need help on a project. Sometimes just having someone give you work to do can be an easy way to force yourself into learning things you normally wouldn’t have on your own.
And finally…here are a bunch of links to other people’s idea vomit that may give you some juice! I’d really love it if you dropped a comment below about a project you are working on or projects you have done in the past!
- Ideas for Coding Projects - Great list of projects to help you learn
- Mega Project List - Large Repository of ideas for simple projects
- Martyr’s Mega Project List - More ideas for simple projects
- Over 100 Sample Code Projects - Reddit thread with project ideas