Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How do you come up with side projects?
29 points by Linox on Jan 30, 2019 | hide | past | favorite | 40 comments
I can use python, PHP, and nodejs, but I have been having a hard time coming up with project ideas.

The answer for most developers, myself included, is that we don’t.

Reading hacker news and r/programming makes it seem like everybody is out there putting 60 hours a week in at a tech giant or sufficiently trendy startup and then spending another 40 on cutting edge side projects.

The only side project I did in 2018 was to solve a very specific need I had. It was about 30 lines of poorly written python that I’ll probably never go back and update because it works well enough, but I use it every day because it solved a real problem for me.

I guess my advice is to look for a problem and don’t worry if you don’t find anything. There is more too life than side projects.

If you’re just looking for something to improve your skills or show off to potential employers, you should just clone something that already exists. I believe twitter clones, Reddit clones, and basic games (pong through super Mario bros) are common choices.

I absolutely love programming and I enjoy my job, but after spending 1/3 of my day on work, I am really not in the mood to do even more work.

As for 2018, I wrote a backup script. It works really well.

It’s more like half a day. I wouldn’t count sleep as part of your day.

Plus in your free half you have to do errands, cleaning, shower, meals. So the other half isn’t really yours either.

Ok. Thanks for the reply. I’ll try to come up with some problems for myself

It depends, OP. I have a lot of side projects going but I barely get time to work on them. Some Devs make time, some just cannot afford to.

As for where I get my ideas, I keep finding stuff I want to improve all the time. I believe in writing code to solve everyday problems. Even if sometimes the code bit takes long :P

I also try to solve these problems using new stuff I learn. I am not a CS grad but I am reading computer architecture just to be able to better Appreciate GPUs better. It'll help me eventually learn OpenCL some day.

Coding is fun. Make sure you are having fun with whatever you do.

Project ideas come from real world problems.

Things like:

- I cannot keep my pets form eating each others food so I'll create food bowls with covers that are only unlocked via RFID tags on the pets' collars.

- It's a pain in the butt to keep track of these 30 different sources of information I use when preparing a report so I'll build API connectors to automatically suck in the data.

- I'm constantly spending 5 hours a week doing X task which could be automated and I have 10 friends with this time suck as well.

Creating a project that you use yourself to solve a problem or save time has so many benefits:

- you understand the problem

- you can easily determine if your solution actually works by using it yourself

- you kind of understand the consumer (one person isn't a good sample size)

- you'll have personal incentive to keep working on it when things get tough

It's possible to come up with side project ideas that don't stem from problems you've experienced personally but you'll be facing an uphill battle. First, you'll have to research what the problem is and how it affects potential users. Then, you'll build something awful cause you really don't understand the problem. Then, you'll rebuild it again after getting feedback. You'll have to figure out how to test it since the problem doesn't occur in your life so you'll probably have to recruit other people to help out which can be very time consuming.

One major factor is this:

- Don't be afraid to build 15 shitty side projects you throw out. Each one will teach you something and number 16 may be your next company. Almost no one strikes gold on the first try.

Usually they just come to you or find you on their own.

You do keep an eye/ear out for them so you notice when opportunity knocks.

For me it is usually something I need or a client needs to automate, or something where a web app could do it better than how it's currently being done.

I keep a list of ideas/possible projects and then focus on creating the ones that are the most interesting have the most potential.

You have to watch out for shiny things, next thing you know you are jumping from one project to the next. Which is ok sometimes if you just want to learn something new or explore.

Usually you'll have one idea that has the most potential to be something that generates revenue so focus on that one if that's your goal till you determine if it's viable.

If you don't listen already you should check out StartUpsForTheRestOfuS.com, listen from episode 1 of their podcast in their archives.

I’ve found that my projects split in two ways: (a) fun hobby vs. problem to solve and (b) don’t monetize vs. monetize. Out of the 4 possible combinations there, I only take on (1) fun hobby projects that I don’t intend to monetize and (2) problem to solve that I intend to monetize.

I try to avoid the other two because fun hobby projects that I want to monetize are essentially solutions looking for a problem and problems to solve but not monetize aren’t as enjoyable as the (1) or (2).

So to answer your question: look at my hobbies to identify fun stuff that will enrich my experience or identify a problem then validate the need beyond myself.

I have notebooks filled with ideas. When I think of something I write down as much info about it as I can. Later, perhaps I add more. Maybe I never touch that idea again.

Projects from social networking, a new kind of winter jacket, "adult flavored" applesauce, "simplified, simplified Chinese characters", how to reduce obesity in our youth so eventually maybe the problem goes away as adults, and so many more.

Taken just for you: https://imgur.com/a/Seg0Pzx

Thanks for the ideas

Ideally you would ask someone for something they need that you can do (Say an app for your barber friend to schedule haircuts for his clients. But in 2019 this probably was already solved by a funded company with 50 engineers. You can still do it though.)

Otherwise its always fun to automate something in your house/life. http://reddit.com/r/diy is a good place for ideas.

Like everyone has said, a side project is one that scratches an itch you have. Basically, what day-2-day functionality needs improving the most. And, do you have the capacity to improve it (or think you can)? From there, the side project is born.

My current side project stemmed from another side project actually.

I wanted to make (basically) an art version of Reddit, but much more robust. It would have cool apps that would make the artist's life much better. I had (and still do) a ton of idea on how to do that, so I started building. I've made many versions, but it still wasn't quite "right".

I have release it, but there was no traction (no should there be, its a crudely built website).

While building the latest version, the project became more and more robust. I had some cool components in it, one in particular and came to a fork in the road. Should I continue on with the Big project, or spin-off a component?

I chose the spin-off and thus my project Vidcap was born. I'm about a week away from releasing it after about a month of develoment. The goal would be to help people annotate their favorite videos to get more information out of it.

Will I ever go back to the other idea, artjutsu? Of course. Its still a passion of mine and something that I want to finish, but I think that Vidcap could be something that could help me achieve that goal (and help others) much more quickly.

If you'd like to take a look (before I post it on Show HN) be my guest - http://artjustu.com/vidcap/index.html?q=4

Mostly i solve my own problems and than make them bit more generic and polish them so that they are useful to others as well. Some examples are

1. Taxes: I have automated interest calculation,reconcilation of my accounts in different banks, calculation of ltcg/stcg in stocks as per my tax slab etc. Now every year i generate automated report and than spend sometime in reviewing before submitting it to tax authorities.

2.Organizing personal collection of movies/music: Finding the duplicates, making sure there is one copy, extracting thumbnails, downloading subtitles,trailers from youtube and movie info from imdb/wikipedia etc.

I think that coming up with a good project idea is a hard task. Don't listen to people that claim they have so many ideas. Most of that ideas are probably bullshit, that's why they have so many of them.

In my opinion, it can take even a few weeks to come up with something that's even worthy of doing. You should be asking yourself what are the reasons not to do it first. Try to observe your life every day and see if there is something that drives you nuts or maybe something that makes you procrastinate. After that figure out the solution and go for it.

Something you wish you had or a process for something you do in your personal or professional life that's long and tedious would be good places to start.

Is there something you do a lot that feels clunkier than it should be? Is there a way you could automate a chunk of it? Maybe other people would like that automated also.

Another thing is, what is some data you wish you had access to or could record easily that keeps track of useful things about your activities or your life, something that you can't think of (or quickly google) some good solution for online? That might be a direction to go in. Like, for example, on a lark I spent some time aggregating reviewers Top 10 Board Game lists in various categories, and it triggered an idea that maybe there could be some software that facilitates this sort of data aggregation for various top 10 lists. I haven't done anything with that (and probably won't), but it's an idea I had.

I mainly focus my brain on coming up with game ideas and story ideas, so those aren't necessarily trying to come up with some website or service I can sell. I either look for some sort of constraint (Can I come up with a game that only exists in 1 dimension? Can I come up with a game that only has one type of component? Can I come up with a game that only uses 9 cards? I've designed games for all three of these in the past two years), or just pretty much anything I absorb, I try to think if I could make a game or story out of it, especially if my brain goes "oh that's interesting!" for whatever reason.

I'll think about it for awhile, and try to run with whatever I come up with, at least up to the prototype phase, and then get the idea in front of people, and if people seem to dig it (or even if they don't, if they gave me some good feedback or I still feel there's gotta be something there if I can find it) I'll develop the idea further.

Sometimes me trying to fix a bad idea generates other ideas as well. I've tried to improve a particular game design twice, and the mechanical fixes I came up I realized would work better as different games where the focus was on that mechanism, and I've since prototyped those as well.

You could probably do something like that for side projects as well.

Sometimes, side projects find me. When they don't, I don't particularly go looking for them.

That is, you're just going about your business, and an idea comes (or you keep running into a need, and figure out a way to address it), and you pretty much can't not chase it. Now you have a side project, one you actually care about doing.

Don't do a side project just to do a side project. Do it because you really want to - almost because you have to.

Don't start by thinking what languages you know. Most projects are not limited y language. Start by thinking about what problems you (or someone else) has.

To take that to an extreme, I just stopped using PERL to make everything I needed in 2018.

I basically look at something, wonder why the heck nobody has done it yet, then do it.

Some people do a side project just to learn a language. IIRC Workflowy was one of the results of that.

For the most part, it should be something that scratches at the back of your mind, not something you plan to make money off or build very well. It should be more about curiosity or frustration for the problem.

Whenever an idea for something comes to your mind, write it down on a post it note, stick it somewhere you'll see it somewhere regularly (I put them on my desktop monitor + my desk), then forget about it. Maybe back up the idea to evernote or something, too, so you have a digital copy. Within a short amount of time you will have far more project ideas than you could complete.

I've found it almost impossible to sit down and "come up with projects". I would look for a problem and try to solve it. Start broadly at first. You might run into something that seems like a block to solving the problem. Solve this block as your project idea; it's often a more grounded problem than the original pie-in-the-sky Big Problem.

I don't really come up with ideas, they just appear day to day and if they seem interesting enough to me I try to jot them down. There is no shortage of great ideas out there so it just becomes a matter of picking the stuff I think sounds most interesting to me.

I’m a game developer, so my “side projects” usually making small hobbyist games. New “ideas” usually involve “I’d like to explore this concept” sort of thing.

I think the ideas mostly comes from being interested in video games though, so I’d suggest maybe looking to other hobbies for insight.

All of my projects come from my day job in a large industry which is behind the ball technically so lots of opportunities. Basically I write software that replaces my job. It will happen eventually, so why not be the one to large a series of SaaS to do it.

Projects that don't make money: Find any need that you have as a developer, hack the solution and make it open source.

Projects that make money: Observe people around you (especially specialists of other domains) and figure out what tools they could actually buy.

Programming for other people.. I encounter way too much problems, with too little time.

Hit me up, maybe we can work on something together. I have an endless list of ideas.

I think you should do whatever fascinates you, but if there's nothing then do nothing: A side project you don't enjoy is just a job - you won't finish it and chances are you won't learn from it

Find something you are good at which others struggle with. Usually the best things are a need you have to solve for yourself which can be expanded to others.

Follow your curiosity. What is a problem that bothers you? That would be be the best to start a project with.

A problem that bothers me is high prices of real-estate on the west-coast of Canada due to money laundering, tax avoidance, and governmental complacency. How can I address this using tech?

> How can I address this using tech?

If you have a hammer and can't find any nails, looking around for other things to hit is unlikely to be a productive activity.

You've identified a serious, complex issue and you care about improving the situation. That's an excellent beginning. Go to your local library and find a book on systems thinking/analysis such as Thinking in Systems by Donella Meadows. Start to understand how all the pieces fit together and what sort of changes will help and what will make the problem worse (you will be surprised!). Your tech experience will be extremely helpful here.

what are your thoughts on this course: https://www.coursera.org/learn/model-thinking

That course looks great. Keep in mind that you are unlikely to "learn" anything "new". It's a process; do this, do that. Put some effort here, think about that stuff there. And then you start to see interactions and cause/effect patterns that you didn't see before as well as behaviors that work completely differently than you previously believed.

You probably can’t. It’s not really a tech problem.

You should be looking for something significantly smaller in scope, too.

To solve problems effectively, you shouldn't try and preconceive the solution. If you really want to solve the problem, you'll need to immerse yourself in the problem and field and figure out what are some causes of the problem that you can affect.

You've distilled the problem down to "money laundering, tax avoidance, and governmental complacency" but do other issues like zoning, foreign investment, lack of suitable space, etc contribute?

While it's possible to solve problems in fields that you don't work in, it's less common. If you want to affect real-estate prices on the West coast of Canada, you should dive into the real estate industry and most likely some obvious inefficiencies will pop out that can be solved.

Why does it have to use tech to be your side project?


sudo ./join_a_party.sh && sudo ./get_elected.rb && sudo ./change_law.sh

>> claplouder is not in the sudoers file. This incident will be reported.

Don’t have a new idea, I’m writing a open source forum based on golang

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact