Ask HN: Where do you get ideas to build side-projects?
Some people say they have too many ideas to ever work on, but I have the opposite: time, but no inspiration.
Any input appreciated.
Some people say they have too many ideas to ever work on, but I have the opposite: time, but no inspiration.
Any input appreciated.
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
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.
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 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.
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.
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-...
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 :)
* 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
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.
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.)
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!
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 any open source projects you make great use of but have yet to give back?
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...
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 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.
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).
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!
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 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.
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?
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.
My answer in a similar thread: http://news.ycombinator.com/item?id=1454465
NineSights: http://www.ninesights.com/community/rfps Innocentive: https://www.innocentive.com/ar/challenge/browse
ngokevin: No, not joking. Reverse vc is a real model.. http://www.entrepreneur.com/article/219627
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...
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 ...
http://bohuco.net/blog/2013/02/my-january-sideprojects-what-...
TLDR; have fun and build whatever come to mind
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.