

Ask HN: How do you come up with hobby projects? - DalekSall

I have a hard time getting ideas for new hobby projects that will keep me interested and teach me new stuff.<p>To get started i have tried several things like Project Euler(and a-like), re-do work related systems in new languages and following tutorials.<p>Non of those keeps me interested for long, and i think it is because they don&#x27;t serve any purpose, other than keep me coding.
======
ylg
I find my interest is most piqued by non-programming fields. So, for me the
answer to this question has been: listen for opportunities in the communities
around fun, non-programming fields. In my case, listening to a NASA Twitter
account led to a weekend hackathon that showed the possibility of programming
around live telemetry from space vehicles, which I've been noodling with ever
since: [https://github.com/sensedata/space-
telemetry](https://github.com/sensedata/space-telemetry)

Another idea I've been messing around with for ages is a mobile app to support
bicycle wheel building; something else seemingly non-programming that I love
doing and so looked at specifically to see if I could invent a way to a hobby
project.

And, games are another arena that have worked well for me, i.e., programming
around them is fun enough to keep me well enough engaged to learn and
understand new things. Mods, play-support tools, and of course actual (mini)
games. If this sounds interesting, I recommend finding a moddable indie game
to start with; micro-studios can be very friendly and supportive of modders in
ways that keep you coming back for more.

PS From the OP's context, I'm assuming the real question is "How do you come
up with hobby, programming projects that keep your professional abilities
fresh and varied?"

------
Porkyorc
I'm much the same, a lot of the time I find it hard to do things like Project
Euler or redoing work in a new language because it's not interesting to me.

I have found that watching videos from things like GDC/TED talks about
particular software techniques has given me motivation to try and copy them.
Yeah, I'm not pushing the boundaries of human knowledge or making a killer app
but it's a new piece of technology or technique that I've never done before.

Perhaps look to implement something that you haven't done before in a way you
haven't done before. Personally, my current project is a Fiber based
raytracer. Having never done either before, it's an interesting problem to
solve when you don't look at anything but documentation on MSDN for functions.

------
jmnicolas
I don't think there is a method to it : as a developer you should see a lot of
opportunities to automate things in your daily life. If not you probably need
some hobbies outside the dev world.

I started coding about 10 years ago because I wanted to make a better bot for
World Of Warcraft than what was available. Literally if it wasn't for WOW and
an obnoxious coder that wouldn't share his bot code I wouldn't be a developer
today !

Among more recent projects, I made a "green" script to encode videos at night
while electricity is cheaper, a tool to extract, rename and classify rared /
ziped nested ebooks (obtained from dubious sources ;-), another tool to
analyze and optimize my chances at winning on football (soccer) bets (let me
say it didn't work very well).

~~~
collyw
Sorry that sounds a bit nonsense to me. All the things I enjoy doing outside
of work involve getting away from the computer as much as possible. Mountain
biking, kayaking, drinking. Cooking is about the only hobby that could involve
something, but there are a ton of cooking related websites.

~~~
tyurok
The fact that there's a ton of related websites shouldn't ever stop you from
doing a simple side project, since it's for learning purposes anyway. And a
"copy" of something can always shift into something original.

~~~
collyw
I am doing a work related side project, as I think there might be more
business opportunity in it. Plus its what I know well.

------
evandonaldson
Everyday interactions present opportunities for further exploration. I get my
projects from problems I encounter during my normal interactions with people.
Then I try hack something together for fun. My most recent project is hacking
a thermostat with a Raspberry Pi 2 and mobile app to notify small shop owners
when their freezer temperature has risen above a certain temperature. This
project came about from a interaction with my local grocer. I grabbed some
Ben&Jerrys out of the fridge a few weeks ago and the shop attendant
apologised. He couldn't sell the ice-cream because the freezer power was cut
the night before when a cleaner accidentally tripped the power cord. The ice-
cream had melted and was a write off. The shop owner had to leave the stock in
the freezer until the insurance delegate arrived to confirm the write off. The
shop owner gave me the idea of an app that would notify him if it ever
happened again. He wanted to do it himself but didn't have the technical
ability. I didn't either but that was an opportunity to learn on a real life
problem. It doesn't matter that there are commercial alternatives available.
It's something fun to program and I have a willing participant to trail it on.
Keep your eye's and ears open. Real life problems are often more rewarding to
solve than projects on hobby sites.

------
sideproject
I think it's ok. I've started, stopped, finished, paused, abandoned a plenty
of side projects over the years. But I see them as more of a learning exercise
and I suppose I learned much of my current skill set from these projects.

Having said that, getting the project done to a level where you can show other
people is a good objective.

[shameless plug] - I run a site called sideprojectors
([http://sideprojectors.com](http://sideprojectors.com)). Take a look at all
those side projects people started and maybe it might inspire you to find
something that you'll like!

------
themullet
Would say general brain storming and inquisitiveness, i.e. how does this
actually work and can I improve on it.

As an example of this thinking, I looked at ghostery a while back and thought
it could be cool to work out what I would have leaked and to which websites.
"Would have been tracked" was born, though still got to get around to coding,
feel free to take it you want.

As a few other high level project suggestions; cloning programs for different
languages, play around with electronics (there's years there) or pick a few
open source projects to contribute to.

------
iisbum
Hobby projects, usually solve a problem that I'm experiencing, the proverbial
itch that needs scratching.

If I happen to be looking to try out a new library or programming language I
give it ago, even if its not the best choice, because its just a hobby
project.

I've done this with recently with:
[http://optionsworth.com/](http://optionsworth.com/) and
[http://dailyriver.herokuapp.com/](http://dailyriver.herokuapp.com/)

------
kohanz
Mine are usually derived from my non-technical (non-computer) interests and
scratching my own itch. For example, my need for a source for quick at-a-
glance recap of NBA games (when I found myself with less time to follow
sports) is what spawned Recapp'd (which was also my "learn Rails" project).

Shameless plug: [http://recappd.com](http://recappd.com)

------
edoceo
I'm on the opposite side. I've got dozens of hobby-code projects. I can't go a
month w/o some idea. The idea comes first then I pick technology I'm not
familiar with to build it as a method to learn.

I spend a bunch of non-work time mentoring/advising early tech-founders so
there is constant ideation around me which keeps my imagination going.

------
onion2k
I talk to people. Pretty much every side project I've ever done has come from
a conversation about something that someone finds annoying, or an idea that
they think is brilliant, or that I think is brilliant. For me, the key to
coming up with a project I won't abandon easily is to have other people
involved pushing me to work on it.

------
lrvick
Shameless plug: I started the [http://hashbang.sh](http://hashbang.sh) network
with this in mind. Show up, get a free shell, and work on the network itself.
Plenty of people from all over the industry noob/pro alike hacking stuff out
together and exchanging open project ideas. ;)

------
jmkni
Hang out with people who run businesses and listen to their complaints about
the apps/systems they use, should give you plenty of ideas!

------
d_luaz
I just think of stuff I would like to build, found interesting or useful. If
you are the intended user, it's a lot easier.

~~~
NY_hudson
totally agree with this. if you are using linux, install a few window managers
and start playing around with them...fvwm, xmonad, fluxbox, etc...then start
thinking about what you would like to do better...look at the code for some of
the utilities...bbpager, dmenu, etc...well, that's if you're interested in
this kind of stuff ;-)

