Hacker News new | past | comments | ask | show | jobs | submit login
Ask YC: What project to work on?
19 points by project_idea on Sept 12, 2009 | hide | past | favorite | 28 comments
Although there have been threads like this before, I would really appreciate if you could mention some project ideas of what you would like to see built but don't have time/interest in building it yourself. Also any personal advice is welcome, to the extent that it is possible in such an anonymous setting.

A bit of background: I have recently quit grad-school and I have no interest in working at big corp. and interesting startups are hard to find in my geographical location. While I was in grad school or when I worked at companies I constantly felt I had one great idea after the other for software/web projects, I even wrote down several of them, for when I will have time to work on them. Well, now I have the time, and in fact I've been mostly idle for a few months but none of the ideas I thought about earlier seem that great anymore. Either they are done already, or they don't solve a problem, or they are trivial, or they are impossible to do. Some might be doable but not interesting to me at the moment. I can post some in comments if anyone interested. It seems that being idle really hurts one's chances of stumbling upon interesting problems to work on.

I would like to work on a project addressing some real problem, it can be any sort of web/desktop/server programming, I don't mind working on something that seems overly ambitious or open-ended, but some small concrete problem is nice also. I prefer something with a machine learning/statistics/optimization bend, but not necessarily.

Sorry for the long rant, long story short: what to work on ? or how do you find projects to work on ? I deliberately ignored the business aspects, assuming that once you are solving someone's problem you can start figuring out strategies for monetizing it, etc.




Here are some random ideas I thought of but not pursuing at the moment:

- a device for blind people that would give some description of the visual scene (using simple camera, for ex. read any text that is currently visible, or just describe somehow what is on the image so that it helps imagining it)

- a static site engine (cms): just generate the site as static pages in a compilation stage with a simple templating system

- an online two-player game based on Conway's game of life (two different colors, when a new cell is born, it takes the color of the majority of the neighbors, in each round the players can add a number of cells in a certain part of the board, goal is to wipe out other color)

- software for modelling paper airplane folding (improving designs, etc.)

- a wrapper around sqlite to make it work as client-server

- a zooming GUI that can be used on websites

- a framework for designing flexible layouts of webpages, so that they can be changed with a few parameters, which can afterwards be optimized automatically to have best conversion, etc.

- an art history game where player would see a small portion of a painting and would have to guess artist, age, technique, etc.

- a visualization for website visitors logs, where nodes are different pages, edges are the links between pages and a poster that shows the most frequent visit scenarios on the website

- a visual image search engine without textual queries, where one just starts by browsing a small set of images and picks in what direction to move on

- etc.


I like the 'life wars', that's a clever one.

I'll raise your glider one f-pentomino.

Set it up so that you only have to agree to the number of life cells you can both place, as soon as the last cell is placed the game fires and runs to completion.

Two sliders, starting at 50 cells or so, both players can lower the slider as long as the cells have not been all places. Each player sets a cell to their colour in turn.

Excellent little idea, it won't make you any money in the short run but it has a fair chance of going viral.

Core wars for life.

Really neat little idea.

edit: and now the Hacker News variation on this, set it up so there is an API where hackers can pit their skills against each other, a sort of face off arena for cellular automaton placement strategies.

There is your machine learning angle.

For extra points provide a schedule and a way for spectators to follow the action.

I'd help you build it / host it :)


I built something similar to this in python once, which was kind of fun. Instead of 1 (alive) or 0 (dead), it was 1 (blue colony), 0 (dead), -1 (green colony), and things spawned as a summation of their neighbours. What this meant was the playing field cleared out quite suddenly, but man it could be a colourful explosion! I think with some good thought and a fun interface this could be a really amusing way to spend a weekend.


Thanks, these are very nice ideas, especially the API for agents. I'd like to build this sometime, as it should be really fun to play... There are some issues in gameplay that I couldn't figure out yet, though. for example running until completion could be quite hard to detect, as there can be oscillators with a long period. Also, not sure if the board should be circular, to allow re-entry or not... I was thinking whether players can place their cells anywhere or just in their own restricted "corners" of the board. My main concern however is whether the whole thing would be predictable enough to allow some sort of strategy or it would just be too chaotic... I also sent you a private message if you'd like to discuss...


No cells live or die in x generations = end of game.

Anywhere, one after the other.


I meant one of these: http://en.wikipedia.org/wiki/Oscillator_(CA)

So cells keep dying and being born forever, yet the game is stable.


Ah, good point! You'd have to keep quite a few digests of the 'state' to figure out that you're caught in a loop, the 'halting problem' in disguise.

You could work out the size of the cycle by checking the lower and upper limit of the populations though, if the lower and upper limits have not changed for a number of cycles it could also be end-of-game.


Store evey state, and if you ever get a state you've already stored you know you're in a loop. Should be possible to store it in very few bytes in "raw" form, and then compress it for good measure.


hash the state..

even then, if the period is very long it might be problematic


> Also any personal advice is welcome, to the extent that it is possible in such an anonymous setting.

That's your choice, not mine.

> none of the ideas I thought about earlier seem that great anymore.

This is very common. I have this when I shower ;) Go stand under the shower long enough and sure, one idea after another. Mostly because I can't access the internet when I'm showering so there is no context. Then as I go and check feasibility, others active in the field, invariably the majority of them pale.

> what to work on ?

Without any stated goals this is a very very hard question.

You'd have to at least come up with a couple of boundary conditions, such as how long you can afford to work on this without any income, how much time you are willing to expend, whether it has to be a strictly one man/woman job, your skill level and so on.

That you quit grad school doesn't mean much, I've seen people with impressive degrees that would not be able to run an icecream stand, let alone a software or service business, and I've seen high school drop-outs that were doing just that and doing fine.

As for small concrete problems, if what you are looking for is work experience instead of running your own start-up for a make-or-break effort not to land in a job somewhere there is a middle ground, it is consulting.

If you're good you could simply hire yourself out by the hour to software companies or companies needing software written for them in your region. If you do that well then roughly 1/4 of your time 'booked' should pay for basic living expenses.

Then you still have 3/4 left to work on you own stuff.

best of luck!


Thanks, you are right that I wasn't specific enough and I agree about impressive degrees and such, basicly that's why I quit grad-school :). I would say I have decent coding skills and good knowledge of machine learning, computer vision and related theory, as well as the hacker's hubris of not being afraid to start working on anything, no matter how hard it seems, with the hope of 'picking it up' on the go. Also the timeframe is difficult to specify, because one hopes to start a hobby project that turns into a lifetime of work (as Linux did for Linus for ex.)... Obviously if it becomes self-sustaining, it's perfect, if not, it can be done on the side with a day-job or such...


There's a new Netflix Prize coming up; this one will be time-limited. Most contestants shared a lot and made it a very interesting experience; many got contacts in industry that got them good jobs or started their own companies.


What resources would you recommend for someone to get started with consulting?


A program to track your hours, something to make a contact database and a todo list. All of those are pretty essential.

Billing and such you can do with any word processor.

If you go this route make sure that you reserve enough for taxes once the money starts coming in. Plenty of people fall into that trap. A good rule of thumb is to take the 'gross' tax rate and reserve that much right away whenever a bill gets paid on a savings account.

Then when tax time comes around you have your deductibles and you end up with some money left over instead of a hole to fill.


Gerald Weinberg's two "Secrets of" books on consulting are a pretty good start. They're actually good for anyone who gets paid to give advice, not just professional consultants. Highly recommend..

Secrets of Consulting: A Guide to Giving and Getting Advice Successfully: http://www.amazon.com/gp/product/0932633013?ie=UTF8&tag=...

More Secrets of Consulting: The Consultant's Tool Kit: http://www.amazon.com/gp/product/0932633528?ie=UTF8&tag=...


Pick a small project to begin with that can be coded in 1 month.

A great source of inspiration is: http://osx.iusethis.com/

Go though some programs while thinking "I can do better than this". Pick a useful tool that you actually can code with little effort.

Then get the payment system working and try sell it. It's ok if it doesn't sell.

Then start coding a bigger tool and use the payment system and homepage setup and all the knowledge you have learned from the first project.


My personal take: Good ideas dont form in a vacuum.

Go talk to people in other professions (NOT computer-programmers) in depth about what they do.

Look for pains they have, that can be addressed with IT.

Boom.


I have one for you. It's something I thought of long ago and have an interest in but no immediate plans to work on. Develop a program that can answer based on plain English. The obvious value would be to apply it to search engines (huge money). People already type questions into Google because they don't know any better. Maybe they should be able to do this. Example: "What is the best restaurant in New York?" The challenge for the software is understanding all the words starting with 'what' because if it was 'where' it changes the answer. Notice also that this answer would be subjective, so that has to be dealt with. Yet another problem is the ambiguity of 'New York' because the questioner probably meant 'New York City' etc. As you can see it's a huge challenge, but one which has obvious financial reward if solved. I'm currently working on a project with some search aspects but it doesn't deal with this particular problem head on. If you have an interest we might do something together. The answer to "Where are my car keys?" should be either "I don't know" or "Have you checked in the car?".


A BugMeNot-like service that does not centrally host any data and therefore cannot control which domains are supported. Two possible approaches might be:

1. Use some sort of generative approach with hashing, salting, and a PRNG. Advantage: minimal infrastructure. Challenge: maximizing probability of a successful login, when the domains that don't like it might try to poison it.

2. Create some kind of P2P sharing for the logins. Challenge: it should be as easy to install and use as the BugMeNot firefox plugin, or it will never catch on.

BugMeNot is practically useless now, since it seems to comply with all take-down requests.


> While I was in grad school or when I worked at companies I constantly felt I had one great idea after the other for software/web projects

Ideas come more easily when you are not idle.


> ... interesting startups are hard to find in my geographical location.

To within 300km or so, where are you?


Eastern Europe...


Random advice from someone who doesn't know your skills or situation ...

If you want to create something you have to create something. From all your ideas you have to pick one and build something. Build it as fast as you can, let people know about it, see if they find it useful, listen to their feedback, and remember everything they find wrong.

Then decide - push this through to the next stage, or scrap it and start again. I would say you should go 80/20 - 80% push/change/adapt/enhance, and 20% scrap and start again, using what you've learned.

Toss a coin - two heads in a row you scrap it and start over. That's close enough.

If you sit and try to find the best idea, or if you take someone else's idea and try to build it, you won't learn anywhere near as fast. You need to think of something that you would use, and build it. Give yourself three days to build, one day to deploy, one day to advertise, and two days to gather some reaction.

> ... visualization for website visitors ... nodes are different pages, edges are the links between pages ...

Can you do better than this:

http://www.solipsys.co.uk/new/SiteMapExpt.html?HN

Or this:

http://www.solipsys.co.uk/new/PaulGrahamEssays.html?HN

Can you do that for any site?


> I would say you should go 80/20 - 80% push/change/adapt/enhance, and 20% scrap and start again,

That's pretty good advice in principle but I'd swap the numerical values :)

Another way of achieving the same effect is to throw a bunch of stuff out there (such as you've already done) see what kind of feedback you get back, run with it and just let it sit.

Some things will develop a little traction on their own, as soon as you see that try to establish a dialogue with your would-be user base, and figure out what you have to do to keep them coming back.

And because you want to make a living of this you should probably scrap anything that does not solve a problem that people are willing to pay for. I realize that removes 95% of the possible projects but that is exactly why it is a good discriminating factor.

One of the things I've found about HN is that if you make yourself accessible (so not that anonymous) you get an awful lot more response than if you are invisible.

People are willing to write in email a lot more than they would put on the site so if it is no big deal then at least provide a way to reach you via email.


>> 80% push/change/adapt/enhance, 20% scrap ...

> That's pretty good advice in principle but I'd swap the numerical values :)

The reason for putting them the way I did is to stop things from being abandoned too early. I think you need to be willing to do lots, scrap lots, but you also need to put in hard work on each one. Scrapping them too early means you don't get a chance to discover and fix the flaws.

Perhaps I should write more about that, but I really believe that 75/25 (to go with the coin toss idea) really is close to right.

Having said that, you've built and are running sites for money, and my advice is based on models of building real world businesses.

But I do believe that things should be built fast, deployed fast, and given time to develop and be developed. That's why I say you should only scrap things 25% of the time. Work hard to prove an idea won't work. If you can't do that - persist and pursue. But once you can prove it won't work (or won't work well enough) abandon it and use the experience on your next attempt.

Finally, don't do these things serially, but don't go for too many at once. Two or three is my gut feeling for a sweet spot.

</blather>


Thanks for the encouragement... yeah I really have to build something, "waiting for an idea" doesn't really work...

the visualization in the first link looks indeed very close to what I was thinking about although it also shows how hard it is to make a clear plot with ~100 nodes. I wonder whether it would be interesting to see something like this in real time with visitor activity.


Could you please get a micro payment system to work? There are so many interesting projects that would require this as an infrastructure to build on, and the road to monetarization is obvious.


I'm looking for a co-founder for http://www.hiphopgoblin.com ... zackster@gmail.com




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: