

Ask YC: What project to work on? - project_idea

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.<p>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.<p>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.<p>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.
======
project_idea
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.

~~~
jacquesm
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 :)

~~~
project_idea
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...

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

Anywhere, one after the other.

~~~
project_idea
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.

~~~
jacquesm
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.

~~~
m_eiman
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.

~~~
jacquesm
hash the state..

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

------
jacquesm
> 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!

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

~~~
jacquesm
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.

------
neoneye
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.

------
mooneater
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.

------
jeromec
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?".

------
cmars232
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.

------
nearestneighbor
> 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.

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

To within 300km or so, where are you?

~~~
project_idea
Eastern Europe...

~~~
RiderOfGiraffes
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?

~~~
jacquesm
> 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.

~~~
RiderOfGiraffes
>> _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>

------
tomjen2
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.

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

