DEV Community

Cover image for How to find project ideas to practice web development(Not A Todo App)
GaneshMani
GaneshMani

Posted on • Edited on • Originally published at cloudnweb.dev

How to find project ideas to practice web development(Not A Todo App)

Ever wondered how to get a real world experience on web development while we are in a learning phase. this article share some of the useful way to find a project ideas for your
portfolio or even a startup business as an indie maker.

you might be wondering, what is the problem with building a TO-DO Application while learning?. you are right. there is no 
problem in building a Todo Application or a simple chat 
application.

The reason why most of the App idea articles or even some 
repository ask you to build this kind of application is to get 
you to familiarize yourself with how things work on the particular programming language or 
framework.

Actually that is a good thing, but don't get stuck at that phase.
it is not the end of application development. 
because I have been in that phase and it is just not enough when you start to grow in your career.

Things are changing frequently in web development. 
just knowing how CRUD works on an X or Y programming language or a framework is not just enough in this competitive world anymore.

you can ask me, then what is important? are you saying practicing is not useful anymore. NO, practice is one of the best things to do. it helps you to become an expert on the specific domain.

All I am saying is,how we can do that efficiently is more important than just following project idea from a template blog or 
repository out there.

Here's what I am following to get new ideas for my portfolio 
projects or even for passive side projects.

 Method

It is a very simple one. First and foremost, go to any freelancing 
websites out there such as UpWork or any other freelancing site.

Select your Category, Here we will select as *Web development.*

Alt Text

Try to read each Project description and what they want from 
a freelancer. That is super important. I can't force it enough. 
do that with curiosity. For example,

Alt Text

consider the above example, it describes that they want to build a video feed application for the financial sector. it seems like an interesting and fun thing to do. 
you can even apply your own flavor on top of it. 
Let's say a video feed application for the sports domain.

Once you read enough of the project descriptions. you might sense to get what people are expecting and 
you can categorize the business requirement. 
how people want to use technology to solve a real-world problem.

If you ask me, that is the most valuable skill than 
just practicing an X or Y framework because it doesn't matter in the business world. 
All it matters is what you do with that. So, understand that. that skill will take you a long way.

Well, that is an efficient method to find project ideas for your side project or learning web development.

Wait, there's another trick that I want to show you to find 
project ideas.

https://giphy.com/embed/xULW8MYvpNOfMXfDH2

When you click the Project description in Upwork. you can see the client's work history. 
try to find what kind of project they have done. 
you might end up finding an interesting idea from there.

Alt Text

Do the same thing for the freelancer's profile.Click on the freelancer's profile and 
see what kind of project he has done in the past. 
you might end up finding other interesting project ideas 
from there.

https://media.giphy.com/media/URoLoCo1s9jm8/giphy.gif

OK. enough about just saying about the method. 
Let me show you how i find few project ideas 
using the above method.

 Project Ideas

Like I said above, 
I followed that method and found a freelancer's profile. 
he worked on quite a lot of projects in React, Nodejs(My Expertise). I went through his profile and found a few interesting ideas from there. 
let me share the ideas with you.

> Note: Idea can be implemented in any tech stack. All it matters is, what kind of problem it solves.

 Album Sharing Platform

Consider that you are a photographer, you took a different variety of pictures such are wildlife photos, 
wedding photos, and food lifestyle photos. you want to share a different kind of photos to different clients.

Let's say you want to share your wedding album samples to one 
client and wildlife photography to another client to get 
more project works. 
Let's see how to build a web application around that.

 Problem statement

Build a Saas Application where photographers are end customers. 
they can upload all their photos to their dashboard and categories them based on their need. the platform also allows them to create Album site design 
based on the category.

 Reference: Consider this application as a reference

 Stick Notes App

I know this might sound familiar. but trust me, by building this application.
you will get a good experience on what kind of problem 
a stick note app solves.

I assume that you know about the concepts of scrums and 
agile sprints
Every week, the team will set a goal and work towards it. 
To note down every detail of the goal, 
a popular way is to use stick notes on board. 
But since, we are moving towards the remote culture. 
it is a good idea to move that to a digital world.

 Problem Statement

Build an application where users can create boards and invite other users. Inside a board, 
the user can create notes on any place and move it around. 
Other users can collaborate within the board.

Note: it should be real-time.

Reference : https://stickies.io/

 Conclusion

Always, remember. we are here to solve a business problem using 
technology. technology can change but 
problem-solving won't. 
use technology as a tool to solve the problem. 
Don't follow the race of *X vs Y language or Will X be dead because of Y*. 
please don't do that. Learn to solve the problem 
and stand out from the crowd. Happy Coding :-)

Top comments (11)

Collapse
 
tomhayes profile image
Tom Hayes

What's going on with the line breaks in the middle of words in this article? Makes it really hard to read.

Collapse
 
abhineettandon profile image
Abhineet Tandon

I always start a blog app whenever I need to learn some new rhing on frontend or backend. I covers almost all aspects of a web application like authentication, authorisation, profile/user types and model relationships.

Collapse
 
itsjzt profile image
Saurabh Sharma

What I find intresting the idea of making clone apps

Ex: instagram clone, pintrest clone, dev.to clone, stack overflow clone, trello clone, etc.

Collapse
 
redcaptom profile image
Red Cap Tom • Edited

May I suggest a different path? Disclaimer: super biased.

Build something that people will use - not to boost your portfolio, but to feel what it's like to have an app in production with real feature requests, and bugs, and deployment environments, and platform limitations, and libraries that work in a different way than you expect them to, and version control, and collaboration with other devs, and - you get my drift.

My suggestion, for a modern, full stack JS application? Build a Shopify app. Check my profile - I'm writing a tutorial series on it now. Did I mention I was super biased? ;)

And if you're up to it, I'd like to show you the ropes and be there for the build process. Just reach out to me at hey@redcaptom.com and we'll set it up.

Remember - you're building software that will be used by people. Train in the wild, not in your sandbox.

Collapse
 
ganeshmani profile image
GaneshMani

Exactly. this is what I want the developers to do. at the EOD, all it matters is what kind of problem we solve for users. I feel, if someone can understand a customer's needs and provide a solution to that. his confidence level will be enormous. Thank you for the feedback. let me know if I can help from my side.

Collapse
 
redcaptom profile image
Red Cap Tom • Edited

Yes, exactly! I once interviewed for a FAANG company, and the interviewer mentioned the first project a developer puts out there as a "ramp". I really liked that analogy, because it implicitly states that until you've actually done it once - put yourself out there in the cold, that is - you will not get the view from the mountain. And once you're up there, it's very clear where your strengths, your weaknesses, your passions and your pet peeves lie. It's an excellent exercise in figuring out what type of developer you are.

Building something and throwing it on GitHub is like practicing on a punching bag - it's nice, it'll advance your technique, but it's not really the thing that will make you an outstanding fighter.

The real warriors spar (i.e. fight against other fighters) all the time. That's the only way you actually get good at what you do in the real world - you put yourself out there, get punched down, get back up, and repeat ad infinitum. As a former fighter myself, I can verify that the most hardcore folks I sparred with do this on the daily - and they are beasts.

To me, GitHub projects are the punching bag, and real-world problems are the sparring. I urge anyone who is starting to code to dive head first into a real world problem - even if it's fixing a WordPress plugin, which isn't "cool" nowadays - just get to work. See firsthand how software behaves out there, and you will see that a) it's just code and b) you can do it, and you can do it well.

And if you need a hand - talk to us! @ganeshmani and I are here for the assist.

Collapse
 
rajoyish profile image
Rajesh Budhathoki

Thanks for the ideas. I will follow those. 👍🙏

Collapse
 
readthroughmyglasses profile image
Pranati

Awesome thanks for such amazing ideas!

Collapse
 
ganeshmani profile image
GaneshMani

Editor is a bad UX. sorry for that. i am trying my best to make it readable. don't know why it's like that.

Collapse
 
prasad profile image
Prasad

Thank u very much for this valuable information, I will follow this.

Collapse
 
dansimiyu profile image
dan-simiyu

Great tips. Thanks a lot