Hacker News new | comments | show | ask | jobs | submit login
Ask HN: Where do you get ideas to build side-projects?
39 points by showsover 1384 days ago | hide | past | web | 55 comments | favorite
I'm a 24 year old developer. Evidently I like to program, but I have no ideas of what to program. I've looked around, to my friends and family, but they have no problems they'd possibly pay for to see solved.

Some people say they have too many ideas to ever work on, but I have the opposite: time, but no inspiration.

Any input appreciated.

I have too many ideas, way too less time. This is why/how:

1. "Scratch your own itch". You can't possibly be living a life where you didn't want to make something easier for yourself, something different.

2. Don't worry about money for side projects, especially initially.

3. Read a lot - fiction and applied CS. It'll take you to a lot of different places you haven't been and won't ever be. My personal bias is towards fantasy fiction. In applied CS, read books like "Exploring Everyday Things with R and Ruby: Learning About Everyday Things" [1]

4. Be curious and observant. Look around you and ask why things are the way they are. Example - People enjoy watching soccer/football (on TV and live). But in a lot of high profile games the referee makes a mistake about whether the ball has crossed the line or not. Try reading about goal line technology. Maybe a book on Computer Vision[2] to figure out how you would solve the problem .

[1] http://amzn.to/YpwqkL [2] http://amzn.to/Z7mcGB Note: None of these links are affiliated

Once people find out that you build software, they are (in my experience, at least) all too happy to tell you what kind of app/website you should build.

The bad news is that most of the ideas they have are unworkable, unmarketable, or just plain stupid. The good news is that underneath it all, there is often a kernel of a good need that can be solved in a better way than they are expecting and/or applied more generally.

Over the holidays, my sisters told me about an app I should build - it seemed silly and unmarketable to me at first, but as I thought about it more, I saw a lot of potential uses (many of them applicable to a commercial context) for a more general solution to their problem. I'm working on that app now on the side.

The other thing to think about is the way you approach people for ideas - don't ask them what app you could build to help them, ask them what their problems are. Even better if this is in the context of their job - this makes it far more likely that you could charge enough money for your software to make it worthwhile.

I mostly hang on with tech people, be it colleagues or friends. They mostly buld their ideas themselves when they have them. My family mostly talks about other subjects than software when I'm back home.

It sounds like your family has problems that are easily automate-able. As suggested elsewhere in the thread, listen for problems, then look for a way to build a solution.

You should figure out how software can apply to the problems they had no idea software could help with.

Pick people you care about. And solve problems for them.

To be precise:

* Problems can be Jobs[1] they have in their daily life

* Learn to listen[2]

* Think of Space > Problem > Solution.

* Zoom out. As Developers we tend to be in the details. This is not where inspiration comes from.

* Work with ideas like with with clay. See the whole piece, look patterns while working with it, simplify and fine tune the things that work.

[1] http://businessofsoftware.org/2012/02/professor-clayton-chri...

[2] http://dex.io/robfitz/how-to-do-and-what-to-expect-from-cust...

Most importantly: have fun.

I don't think side projects should necessarily be profitable or money-making. What about the process of just creating something to solve a problem you, or others, have? What about it just being fun?

I have been working on and off for a couple of years on a personal finance manager simply to track my finances in the way I wanted. I am pretty sure no one is going to pay for that, but I do it because I need it and because i enjoy coding and building stuff. In the process, you might get other ideas.

Also, I'd like to echo another comment here that says to take up a non-tech hobby. Lots of problems to solve in everything but the challenge is to find one that people would pay for.

I was thinking of doing the same since I used to track all my finances manually. I switched to Mint for 2012 but their UI isn't to my liking, specifically the part around tagging and categorization. Do you mind sharing how your finance manager works, and how you built it over time

Sure. It's still pretty simple, but that's sorta the point.

The current website is the 4th iteration, i think, of the whole process. Started out with a simple spreadsheet and then used wxbanker, then migrated the same data model from wxbanker into a web app. And now modified that to add my own stuff. And I am still working on it and have ambitious ideas for it. But only work on it when I have free time or need inspiration.

There are still a few bugs from the last rewrite that I have yet to address but it's over at http://mywallet.codedemigod.com

The tech stack of the current iteration is Django + bootstrap + Postgres running on a linode VPS.

I was afraid that I wouldn't come up with any cool ideas to work on when I first started coding. It can be hard but once you get rid of some of your assumptions, you will see that there are loads of ideas floating around.

Here's what helped me:

1) Do not ever stop reading. Set up a few subscriptions to RSS feeds. Always have a few books that you find interested lying around. You'll see that these books will help you understand that finding an idea for a project is not the hard part.

2) Do not be afraid of inventing the wheel again. Some people say that this is unnecessary but in my experience this has helped me a lot.

Take static site generators for example. There are very good ones around but I still plan to write one. Just for the fun of it. You'll be amazed to see that reinventing the wheel is a great idea to get fresh ideas and improve your coding skills.

3) This has been said a lot, and it's great advice. Try to solve a problem that frustrates you. This can be anything. Don't like the way HN looks? Try to do a redesign on the side. You find that Youtube has a lot of clutter? Try another approach. You get the idea.

4) Read http://ycombinator.com/rfs.html and http://ycombinator.com/ideas.html

5) Read other people's code. I'm by no means an experience programmer, but this is perhaps the single most important thing that I learned from Zed Shaw's excellent Learn Python the Hard Way. You'll be amazed at how much other people's project can inspire you.

7) Most of all, don't ever obsess about finding an idea. Recognize that ideas are important but the way you execute them are much more important.

I hope this helps :)

Great ideas, Thanks Any suggestions for option number 1. I have found some really interesting articles from HN but i am always on the look out for some good RSS feeds

Here's a list of all my current subscriptions, hope this helps you get started:

* brack3t: http://brack3t.com/feeds/all.atom.xml

* CasJam: http://casjam.com/feed

* Coding Horror: http://feeds.feedburner.com/codinghorror

* dan shipper: http://feeds.feedburner.com/danshipper

* Dave Winer: http://scripting.com/rss.xml

* Doug Hellmann: http://feeds.doughellmann.com/PyMOTW

* Eric Florenzano's Blog: http://eflorenzano.com/atom.xml

* fuzzy notepad: http://me.veekun.com/atom.xml

* Hack Things: http://www.hackthings.com/feed/

* Hacker News: https://news.ycombinator.com/rss

* Liam Kaufman: http://feeds.feedburner.com/liamkaufman/uHFr

* MacRumors: Mac News and Rumors - All Stories: http://feeds.macrumors.com/MacRumors-All

* Nate's Tumble Log: http://natekontny.com/rss

* Nathan Kontny: http://ninjasandrobots.com/feed

* Nettuts+: http://feeds.feedburner.com/nettuts-summary

* observation deck: http://observationdeck.net/feed/

* PaulStamatiou.com - Tech News, Reviews and Guides: http://paulstamatiou.com/posts.xml

* Python Zone - Everything for the Python & Django developer: http://feeds.dzone.com/zones/python

* Signal vs. Noise: http://feeds.feedburner.com/37signals/beMH

* Steve Corona: http://feeds.feedburner.com/stevecorona?format=xml

* The Changelog » Python: http://thechangelog.com/tagged/python/feed/

* The Gates Notes: http://www.thegatesnotes.com/RSS

* the_codist(): http://feeds.feedburner.com/thecodist

My best advice is to pick a problem or project you're passionate about. My first product started as a side project that grew from 3 things:

1) an increasing love for JavaScript

2) a desire to build really fast web apps

3) I needed a tool for certain aspects of my freelance business

Given those, I decided to make an initial investment of 3 months and build an app to attack those head on. It's 2 years later and I still use the app every day; I even turned it into my company's first product.

So in my case, I fell upon my first idea after 7 years of professional experience. I didn't always love JavaScript, I didn't always care about how fast web apps are (or aren't), and it wasn't until I went freelance that I wanted to build the tool I mentioned.

An idea will come to you, but it may take time to fall upon a problem you decide is worthy to invest in. What I wouldn't do is pick any problem out of a hat and spend some of your life's hours on it. At a minimum, you should have some level of interest in the idea itself.

So, what you're saying is - you want to build an online community of people with time and skills, to match them up with people who have ideas and inspiration for co-founded projects?

Your life is perfect? Every single object your hand touches and every website you go to each day can be improved. Innovation is a sort of mindset. You're not going out looking for a quick billion dollar idea, you're trying to improve that 5 minute unpleasant experience we all encounter at some point each day.

well said!

Obligatory pg essay: http://www.paulgraham.com/startupideas.html. Start here.

I like it too. My tl,dr from it is:

Live in the future, then build what's missing.

I also draw inspiration from Bret Victor's[1]:

If there's something in the world that you feel is a wrong, and you have a vision for what a better world could be, you can find your guiding principle, and you can fight for a cause. So after this talk, I'd like you to take a little time, and think about what matters to you, what you believe in, and what you might fight for.

[1] http://gumption.typepad.com/blog/2012/03/principle-centered-...

So the question is: Why don't you have the ideas?

My overflow stems from looking at what happens everyday, and seeing suck. When one of the phones in my family is lying on a shelf and is about to run out of power, why doesn't it warn the other phones on the WLAN? Or if it's latish and the phone knows that unless someone picks it up and charges it, it'll run out of juice during the night and be a hard-to-find brick next day.

So... could you try to talk a little bit about why such things don't strike you? (I realise I'm digressing here, but I'm curious about the difference.)

A side-project that doesn't set you on fire (figuratively, that is, unless you're really into pyrotechnics!) is likely to be disappointingly like work, without the reward of actually getting paid.

Take inspiration from the things that irritate you, or those moments where you think "Wouldn't it be cool if…"

And remember, it doesn't have to be just software - there's immense fun in mechatronics…especially things that fly, float, or zoom along the ground at high speed!

If you don't have some project in mind that scratches an itch, I'll give you the same answer I give my peers and juniors: Do something different that builds your skills.

There's terabytes of open data, tools and tutorials available on the internet. Build a tool that scrapes the FCC database and allows people to research radio station call signs. Dig into some of the NASA archives, do some image processing. Check out the growing infestation of humans, chart it on maps with the help of US Census data. Build a local weather application. Get a cheap SDR USB radio and build a different GUI to control it. Find your bank/credit unions quarterly posts on their respective government agencies websites and plot how much money they make from fees vs margin. Build a calculator app with advance functions. Tailor it for small business like a roofing contractor. Do any project in a different programming language, then port it to a third. Work through the problems at Programming Praxis or SICP. Tweak a game through Lua or whatever tool kit they offer...

Are there problems in your immediate community? (Online or otherwise)

Are there any open source projects you make great use of but have yet to give back?

I made a new years resolution to build a side project that generates income. I have no problems of coming up with ideas, but I could improve my "launch-percentage".

Usually, when I get an idea, I start building it right away. When my mana runs out (typically in few days), I lose the interest and forget my new project.

This time I am trying to focus on things that helps me finishing and launching the project: - Keep the scope of the project as minimal as possible - Test one hypothesis at a time, if it validates, build another feature and launch it - Make sure to launch the project before the mana runs out

When the year is over, I'm hoping that I have a side project that generates income, I'm a better write and I have hands-on experience on internet marketing.

You can read more from my blog: http://www.rebelcode.net/2013/01/01/in-2013-i-will-build-a-s...

Pick up a new non-tech hobby. You'll almost certainly run into some type of problem or aspect which could be improved upon.

Couldn't agree more. And be genuinely interested/excited in whatever you are doing - if it becomes a project you'll need passion and not just technical skills to see it though to completion.

> I've looked around, to my friends and family, but they have no problems they'd possibly pay for to see solved.

The biggest problem my business has is convincing potential customers that they have a problem. We do electronic timesheeting, staff attendance, and rostering, but most businesses think that paper timesheets are "good enough" - convincing them how much cheaper and more efficient things could be when done in the cloud is a tough slog.

So don't assume that just because people don't say they have a problem (that they'll pay for, or otherwise) doesn't mean there isn't a problem lurking, waiting to be brought into the light. And if you solve the problem well enough, people will pay you for things you never imagined charging for.

I just checked out your web site (assuming you are talking about PayAus). From a brief once-over it looks super technical, try focusing your content on business problems, not technology. I know it is OT but if you want some tips from a sales/marketer get in touch with me and I'll be happy to give you some free advice.

You have pointed yourself what you are lacking. You should be loving programming, not liking it.Be passionate about it. If you love something you would invariably be pulled into doing something with it. You don't have to build something spectacular to show to others. Start small, write small programs that do one specific thing particularly well. For example pick any linux utility commands and try to write it in your choice of language. Just start with whatever idea you have, if you start coding the project, I am sure everything will fall in to place. Like a great man once said "Almost everything you do will seem insignificant, but it is important that you do it"

You just need to practice. Don't worry about making money in the beginning, just about making something people will like.

I once was at a place where i couldn't really think of anything but i constantly pushed myself and worked hard to try to spot opportunities; which can either be "unmet needs" or more commonly needs that are poorly met.

Anytime you are using an app that makes you do more work than you need to, you have a side-project idea right there.

The key is not to think-up an idea, but to notice opportunities.

Here are some of my ideas that you can play with if you like:

Grouper for Founders - will probably make business networking easier and a bit more fun (Goal: meet 3 founders every week)

A hosted crowd-funding campaign builder - think of selfstarter.us for people who don't know how to code. Like a kickstarter that you can host on your own domain. (apparently crowdtilt is already working on this but that shouldn't stop you or me or anyone)

Blog Comment Platform - disquss is good but there is a lot of room for improvement. Something that works like HN comments would be ideal.

Project Management for Individuals - Basecamp can do this built it was designed for teams i would really love one designed for individuals and i am building one as my side project. You can do this too.

A Blogging platform that provides a pre-existing audience - I had this idea before quora released quora blogs but as quora doesn't allow you to use your own domain name, there is a great opportunity here.

A habit Tracker - most apps that help you keep track of the habits you want to form are decent at best. Make a better one.

Life Tracker - this was inspired by a blog-post by Dustin Curtis (on his original blog dcurt.is) that has since been taken down. It's basically an app that will help you keep track of how much time you have left to live based on your life expectancy, how much you have lived, what you have accomplished and what you still hope to accomplish with the time you have left.

A twitter for video - yes it sounds stupid but keek.com is becoming popular; go figure.

You just have to train your mind to see problems everywhere. As buro9 said, be inquisitive, and question everything... I can't even read this specific Hacker News comments thread without thinking of ideas...

The idea that comes to mind right now is how to solve the "I don't have an idea" problem. I start to wonder if there is an opportunity to create some sort of online market place for start-up ideas, where the the hacker news audience could collaborate with one another and refine start-up ideas in the earliest stages of thought. But then I start to think of other problems in creating this on-line collaboration tool. For example, I realize that there might be the problem that not everybody wants their ideas completely out in the open, but yet those people could still benefit from this initial collaboration and feedback. People want people to poke holes in their ideas before they invest too much time in them. It saves time. That's a problem worth solving. For example what might take a person days to figure out in terms of concluding an idea doesn't have legs, some random person on Hacker News might shut down in minutes. It could be as simple as that the idea has already been successfully implemented, or any number of other reasons, etc. And so I start to think of a solution to that sub-problem, that maybe people should be able to build reputation, and a trust rating, which would allow people to see the ideas of people who have similar trust/reputation ratings. I start to wonder if maybe the Hacker News karma could be a variable in determining an initial rating, etc, etc, etc. I wonder how much control an idea person should have in filtering who has access to read the ideas, whether they should be able to have Friends who can always see everything they do, etc. But then I start to think where could this collaboration tool go in the long run? If it was successful what would be the next step? Would the next step be about how to help hacker news members form actual partnerships to work with one another in implementing the ideas? Etc, etc, etc...

In sum, ideas are everywhere. Question everything. And read Hacker News comments! I doubt there is any more critical place on the internet in terms of a community of people pointing out the flaws in every little (or big) thing. Hacker News comments are a great place to discover ideas (problems, same thing).

I used to struggle with ideas. The initial hurdle wasn't coming up with them, it was recognising that I had them in the first place and then recording them for later. Here's what worked for me:

1. Buy a notebook. A really good quality notebook. You need to like how it looks, how it feels in your hand.

2. Buy a pen. A pen that you love writing with. Pick your colour, decide on whether you want ink/gel/pencil. It needs to be a reliable pen that you love to write with.

3. Carry both with you as often as possible. Look for gaps, problems, optimisations, new uses for existing things, and, finally, anything you see that is really awesome (this one is just as important as the others). Write everything down. Try not to filter/dismiss anything, if it doesn't seem significant now it might 6 months down the track. The goal here is to be mindful of what's around you.

4. Once you have a really good idea (you'll know when it happens) then build it.

Number 1 is the most important step in my opinion. I use fairly cheap pens (that I love) but consistently overpay for notebooks. I tried lots of stuff in the beginning but I needed a 'good' notebook (I think I paid around $25) to get me consistently recording stuff. I think that this was because writing things down almost was a rewarding experience in itself. I suggest avoiding apps (in the beginning at least) for this reason.

There's something about the tactile quality of writing and the flexibility between being able to immediately write, draw or flowchart that technology just can't replicate. On top of that, you're much more likely to remember something when you read it in your own handwriting than when you see it on a screen.

I'm more than confident that you have lots of ideas at the moment, they're just not hanging around long enough to be actionable. That said, if you're still stuck I have a few that you can get started on ;-)

Also, if you just want ideas for side projects rather than a business/startup/plan to save the world, just look for programs with cool features or functions and replicate them. This seems to be a commonly recommended path in visual design and I don't see why it won't get you started. You'll learn a lot and probably start having your own ideas for new stuff along the way.

Hope this helps!

For me it's often some new tech as main trigger for new ideas and projects. I see new stuff and I just want to use this tech and look what could be done with it. Not the best way because tech-driven ideas often bring up solutions which don't have a problem but at least you get started, play around and then better ideas come by themselves.

I.e. Node was the main trigger for many of my projects and brought me back to web development when it came out and web development was kind of crusty and stagnating.

I see ideas in every conversation with everyone I have.

I can't help but constantly ask the question of whether there is a better way, whether the existing approach is even the right way, and whether by seeing a similarity in the essence of a problem with something in a different field altogether (than technology) we might find a more interesting and successful solution.

Don't listen for problems that you might work on, just listen to how things currently work and be inquisitive. Is the way something works today the best way? Does it represent the final iteration?

You already see with evolution that things change over time, and so will solutions. Once you've accepted that everything will change and get better, and start forgetting the concept of "Everything's been done already.", you'll start to see room in everything for the next small improvement, or if you're lucky (and transferred knowledge from one domain to another) some major improvement.

With side projects it obviously helps to pick small things. You want to be done in a weekend, or a few months at the pace of an evening here or there.

If you would like a side project of interest, the last couple of weeks I've been nagged by the thought of privacy online and the idea that the internet fails to allow people to learn from their past mistakes and errors as the internet does not forget and forgive and so people can never move on and improve.

As such, I've been pondering what forgetfulness might look like on the internet. And I think it must be possible to create a little Python script that takes credentials for social networks and various services online and helps introduce forgetfulness by deleting old content. Perhaps not everything, mimicing memory the lesser events initially, and then the major events eventually. Say... everything over 12 months old that received no likes/retweets or engagement gets deleted immediately, and higher engaged items of more significance get flagged up and you can opt to forget them or not.

What does forgetfulness look like on the web, and how can it be applied?

You can see the fundamental problem, "Lack of rehabilitation within society and the ability to better oneself", and you can see a proposed solution, "Bring forgetfulness to the web". If the problems are real enough and chime with people then you'll likely find people willing to pay. In my example the likely market are those in their mid-20s just starting on a career but having lived a lot of their life online and who may now regret the wide-exposure given to their drunken escapades a mere 5 years earlier.

I'd also say not to look at side projects to make money. They're mostly inquisitive exercises. Some make money, but most scratch an inquisitive itch.

I'm quite frustrated that I barely get to work on the thoughts I have, but even then they never go to waste. Even the ideas not pursued help to gradually improve my understanding of how things work and new angles of attack for existing problems. Just question everything.

Very interesting .. I think Facebook Timeline solves this problem to a certain extent (hiding posts that the algorithm deems as unimportant rather than deleting them).

I wonder how you could apply this to twitter. Most tweets don't really generate conversation / retweets (atleast for me), but I still would consider them interesting reading .. say 5 years from now?

Ah, the forgetfulness idea.

For me the focus is on social mobility, and not letting someone's past entrap them or constrain their future.

The question is more about what data can be used against you in the future, because even if data can be used for you let's start with an assumption that anyone looking is looking for something against you and not for you.

So how to destroy/hide the information that can be used against you?

It would be up to each individual to consider what they wanted to delete from their public record. Whether they think their Twitter is a net positive in their public record or not.

If they did, you'd expect them not to make Twitter forget even though they might still want Facebook and Last.FM forget things (music is an angle by which to judge someone, and perhaps you listened to a lot of stuff that suggests you were a stoner in your early 20s?).

The thing that interests me about this is everyone does things today, with little mind to the future. No-one knows where their life will lead and so they want to curate their past so as not to limit their future.

If we believe that people could be different in future, to have social mobility, to have the ability to better themselves... then the internet needs to forget so that people are not always judged by their past.

I find my ideas from my own frustrations in my daily life. I wrote about it on my blog: http://aymeric.gaurat.net/2010/my-frustrations/

My answer in a similar thread: http://news.ycombinator.com/item?id=1454465

How about a site to crowdsource side project ideas?

NineSights: http://www.ninesights.com/community/rfps Innocentive: https://www.innocentive.com/ar/challenge/browse

I'm one of those people with too many ideas. Can I give you my ideas to build and we split any profits?

i'm pretty sure he's talking about side project. so talking about profit right away may get you disappointed too quickly. i think.

I'm in no way suggesting even trying to make money. But any startup does have the possibility of being incredibly successful, so it's worth mentioning.

ngokevin: No, not joking. Reverse vc is a real model.. http://www.entrepreneur.com/article/219627

Yes, les discuss – petershah89 at gmail dot com

Don't require that they'd pay to see them solved. Start building the prototype anyways.

If you can manage it, take a year off to and go work in an unrelated field in an area that you're interested in. The ideas will fly out and quite literally smack you in the head on a weekly, if not daily basis.

May be you get some jump reading this nice article on Side Projects by Sacha Grief: http://sachagreif.com/the-side-project-project/

Most of my side-project ideas come off the shelf...

They get there after normally when discover a way to solve a sub-problem that has relevance to my msin focus [at that time].

I know I couldn't be any more general...

probably you are too ambitious for your ideas ... just try to build the first thing that came to your mind ... doesn't matter if it already exists or if it seems silly at first sight.

for example a website to gather ideas for side-projects :)

my last two side-projects aren't not very special or solves any problems ... but i learned much just doing it ...


i tend to annoy the F out of everyone i know by asking a lot of weird questions and overloading them my latest idea of the day ...eventually something strikes a chord / gets a interesting response and i follow it a little, start prototyping, eventually fizzle out, getting bored and starting an new totally exciting project in parallel and yada yada i stub my toes a lot + bump into a lot of shit in my workshop.

TLDR; have fun and build whatever come to mind

What frustrates you ? Why does it ? Why is it that way. Ask the why 5 more times. You'd pretty much get at something to work on.

My question exactly! So I built something about it. :)


Make something for other developers? The success of FUSIONCHARTS is one of many examples.

Speaking of ideas, are there any books that help me notice problems waiting to be solved?

Put an email address so people can contact you.Thanks.

Experiences. Try to get involved with people and events of this world.

Let's get in touch I have many ideas

I have around 30 decent ideas that I can implement myself, 5 of them are very high quality, one of them already got implemented by somebody else, and was pretty successful.

I'm a developer too, and I simply can't find time to implement, unless I quit my job. Since I get paid quite well, it's a pretty hard thing to do.

The tricks to figure out ideas are

1) Read about other non-computer fields, read forums, articles, etc.

2) Talk to people of various professions.

3) Write down ideas as soon as you have them, or you WILL FORGET.

There are also futuristic ideas, things that I KNOW will happen. They are the most profitable, but I either have no idea how to implement them, or need a shit ton of money. For instance, an artificial high resolution eye, artificial kidney, heart, spleen, liver, etc - ALL of them are multi-billion dollar ideas, but they are very hard problems and will require a lot of financing.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact