Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: I have an idea for a startup... now what?
5 points by imok20 on Dec 13, 2009 | hide | past | favorite | 10 comments
I've got an idea for a startup which I think many people would find useful.

I've gone through the following steps:

1) Other people (from different demographics) agree that this idea would be useful - some of them would even use it. 2) I have places to look for funding (tentatively interested parties). 3) I have a sketchy business plan (sketchy is in currently vague). 4) I have a basic process that the user would go through to use my product, and ballpark figures for costs and required elements for the idea.

I want to get this up and going soon, and I'd probably like a partner who could help with this (especially seeing as I'm in college, currently).

What's next?



This is what I do at the moment(for a personal project, but it could easily adapt to an early-stage startup): Maintain a task list for the product/business - "action items" that can be taken care of each day. Pull a grab bag out each day and resolve to complete them. So when you want to work on the product itself, you come up with technical tasks, research tasks, maintenance tasks, etc. Or when you want to seek funding, advice, or partners, you create tasks for those. Create scheduling milestones as well. You want to keep moving forward, making decisions, while retaining a balance. Having the schedule helps you to say with confidence, "this is good enough for now," "I can wait on this until later," or "this is critical and has to be done to hit my goals."

It's the decision-making that moves the business forward - as you get used to that, the process of doing the work itself, meeting people, research, etc. will quickly become background elements of what actually happened that day. If you can't make a decision yet, then you need to gather more information. You're either doing one or the other.

An example list of tasks from your starting position would be:

-Research implementation strategies(self-built, outsourced, with co-founder)

-Evaluate early customer needs(example: are you selling a bells-and-whistles "experience," or will no-frills functionality be sufficient to solve customer problems?) and pick a core focus for product development.

-Plan style of external communications - which audiences will be addressed, how to maintain the best relationships over time

-Plan internal organizational structure over some time frame(how big, how quickly, what kind of culture, when do you exit)

-Establish motivations of all potential co-founders vs. self, and identify possible conflict points so they can be addressed early.


I'll do that – write out a list based on the business plan and try to navigate the fastest way through it to launch.

Thanks for that – it gets overwhelming to consider all the project at once.


If you can build a 1st version prototype do so now. If not figure out what you need to be able to complete a 1st version prototype and take steps towards achieving that.


I would sort out the business plan. Will the startup be profitable? What are the risks? Surely this is the first thing that any potential partners are going to ask.


Where do you go to school? I'm a college student who's looking for a co-founder as well. Shoot me an email at dzlobinsky [at] gmail.


1. Get in line.

2. Start testing.

i.e. Minimum viable product. Customer feedback. Iterate.

Are you a programmer?


I'll parse last first.

I probably should have mentioned that I am a programmer, mostly Python, but have work experience in Java and am capable with JS/HTML/CSS (and have knowledge of or am somewhat capable in Scheme and C).

Problematic is the fact that I don't have a grasp on database software or security and I dislike the idea of using Django, partially because I don't want to think in Django. I'd almost like to write in Scheme, if Python didn't (a) come more naturally, having written much more code in it (b) seem to have more libraries etc... (c) I have formal education in Python, and I still don't have a solid grasp on where call/cc would be used in a program, which signals to me that I'm not ready to use Scheme.

I'm also decent with sysadmin tools, by no means an expert, but I can use bash and I can script a bit.

So yes and no?

I'm all for the agile approach. I'd like to open with a bang, though. I'm thinking a designer?

2. I suppose I do just need to step into the game. Now. The advice I hear but selectively ignore is "just do it."

1. ?

Thanks!


Here's the thing with call/cc: it's a powerful but low-level operator. It can be used for example to implement throwing and catching exceptions, or generators like Python's yield. However, once you've implemented generators or exception handling, then you'd use "throw" and "catch" and "yield" directly instead of calling call/cc to do those things. So when you say "when would I use call/cc in a program", it would be for some situation that doesn't already have an implementation for it, which is probably pretty rare when most of the things that you'd use call/cc for are already implemented.

If you're interested in web programming with Scheme, I suggest taking a look at Arc (http://arclanguage.org/) which is (I find) a very pleasant language to program in and useful for basic web apps.

For the first iteration of your application, keep it as simple as you can. Don't use a complicated framework if you don't need to. Don't store your data in a database if you can simply store it in files. There's plenty of time later to say "ah, this piece needs to be faster" and move that bit into a database or whatever. By then you'll know what you actually need, instead of vaguely guessing and spending a lot of time to store all your data in a database in the hope that it will turn out to what you need.

While I suggest taking a look at Arc since it sounds like you'd be interested, I'm also guessing that Python is most likely going to be your best choice because it is a lot more mature, it does have a lot more libraries, and you already know it. But look for a way to do your project simply. Don't go off and use a complicated framework that has object-relational mapping and templates and junk if you don't need that stuff now.

I hope this helps... :-)


I've checked out Arc before, and it looks pretty neat. Perhaps it could handle some of the "simpler" part of the application, and I let Python handle some of the more intense server-side implementation. Would that be unwise – combining two (similar) languages in one app?

Thanks for the advice! It sounds as though I need to just get a version 1 out there, ASAP.

A problem with my idea is that it requires some pretty intense sysadmin knowledge, and my big stumbling block is either learning more about all that, or bringing in a partner.

Another issue, perhaps you've got suggestions regarding it, is security. How do I go about handling that? Passwords, information, etc?

Thanks again!


Find some simple Python libraries to use, and going all Python is probably best. Combining Arc and Python would be a fun project but would distract you from getting version 1 done :-)

System administration is tedious but not very hard to learn. An advantage of doing it yourself is that when you need to do some minor tweak you can just do it and not interrupt your flow, instead of emailing some guy who does it the next day but it isn't quite right so now you've been stuck for two days and then he's had some important emergency so he can't get back to you right now... For help with system administrations issues you can ask questions over at http://serverfault.com/ if you get stuck on something.

Security is figuring out that you don't want people to be able to do X, Y, and Z and then making sure that they can't do X, Y, and Z. The simpler your system is, the easier it is for you to check. Which is another reason to avoid complicated software that you don't need.

For passwords specifically, for version 1 just do something very simple. Use OpenID if it won't confuse your users and you won't have to store passwords at all, or just collect the usual username/password and stick it in a simple file on your server. Then as you get going you can come back and take another look, but don't get hung up on it for now.

I'm "aw" on arglanguage.org, by the way.




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: