Sometimes, when you are learning to code, you might hit a mental roadblock when it comes to finding project ideas. I have outlined below some of the strategies you can use to come up with meaningful project ideas.
Strategies for coming up with project ideas
1. Steal ideas and make them better
Look at products, websites and web apps that you normally use. You can improve on already existing ideas by:
- finding two or more great ideas and fuse them into one project/ product.
- thinking of a cool or useful feature that would be great to have on that product.
- thinking of a different use case for a particular website/ webapp that you use.
If you copy the implementation of the idea in the same form as the origin of the idea, please credit the source.
Seth Godin is encourages you to steal his ideas only if you can make them better. You can “built something new, by synthesizing ideas and experiences to invent the next step, a step available to all of us.
Notrealtwitter.com, twitter clone, is an example of stealing a web app idea for a specific reason. They explicitly state that they did not build this site to take twitter’s business but to show what is possible. They made this project as a way to prove that “By 2025, software won’t be made by coders. You will be able to make software without knowledge of programming languages.”
- You might attract attention of the original creator of the product and services and get offered some form of work or reward for your effort.
- You have to think of copyrights and other legal actions that might result of you stealing an idea and plan how to prevent that from happening.
2. Copy existing project ideas
There is a notion that is no new idea on the earth that has not been heard of. I would only encourage copying a project for purposes of learning and practicing. However, if you are going to copy a someone’s project, please consider the copyright requirement of such projects especially if you are going to share it online.
- It provides a low entry barrier to coming up with a project to clone. Just find the website you want to copy and get all the ideas of what you could do.
- The design of the project is already taken care of. You don’t have to worry about the design especially if you don’t possess web design skills.
- If you publish the project, you can only claim to have built the site but not coming with the design and content ideas. You would also have to link.
3. Neighborhood solutions projects
Look at challenges or opportunities in your neighborhood, town or country and innovate a solution to:
- Create awareness using your web-based project.
- Create a solution using your web-based project.
You can look at solutions offered in another country or state and modify it to solve local needs.
4. Projects-based tutorial websites and videos
Look at tutorial sites projects and identify one project that you like.
You can look at this [link][list of project-based tutorials on youtube] and choose one project to work on.
5. World challenges
Look at world problems and try tackling one of the problems.
Look at that list of world problems and identify one that speaks to you.
In addition to this, 80,000 Hours, an independent nonprofit organization, looked at this list and created a list of the most solvable global problems.
6. Customer challenges
Ask your family of friends on some practical or weird app/ website that they would love to see online. They might jokingly or seriously give you ideas that you can implement. Remember not to get trapped into working for free on a project that you are not interested in.
7. Find Ideas from project ideas lists
A lot of developers and designers have gone through this similar challenge and have created ideas lists that you can use.
Some of these lists can be found here:
Strategy to make sure you never run out of ideas
A. Use a notebook/ notes app to record ideas.
Note down any ideas that come at you at any time including during conversations. Write it down even if the idea sounds ridiculous. Don’t question whether they are possible or not. Your goal is to collect a lot of ideas.
B. Be aware that ideas can come up during conversation
When people come to solicit for ideas of what you can build for them, note them down. If you are a beginner and cannot work on the project, focus on learning and use that project to practice your skills as you learn.
C. Save the ideas in multiple places
Save these ideas in multiple places i.e. type them on a google doc and save them online or send yourself an email containing these ideas. This will ensure that even if you lose your notebook/ phone, you still have your ideas with you.
What do you do with all these ideas.
- Choose the one that you feel is most exciting and that you can work on it on a long-term.
- Envision what the whole project would look like. Sketch on paper how the project would look like.
- Write down what skills you think the project would require. You can use this skills list to define the languages and frameworks you are going to learn next.
- Break it down into small milestones that you can achieve with your current skills.
- As you build up more skills, add more milestones that you can accomplish.