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.
As for 2018, I wrote a backup script. It works really well.
Plus in your free half you have to do errands, cleaning, shower, meals. So the other half isn’t really yours either.
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.
- 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.
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 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.
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:
Otherwise its always fun to automate something in your house/life. http://reddit.com/r/diy is a good place for ideas.
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
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.
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.
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.
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.
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.
I think the ideas mostly comes from being interested in video games though, so I’d suggest maybe looking to other hobbies for insight.
Projects that make money: Observe people around you (especially specialists of other domains) and figure out what tools they could actually buy.
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.
You should be looking for something significantly smaller in scope, too.
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.
sudo ./join_a_party.sh && sudo ./get_elected.rb && sudo ./change_law.sh