Two lessons from situations like this...
1. Prefer freelancers to co-founders.
Having a technical co-founder is sexy but partnerships are tricky and you don't need to start with one. Using freelancers isn't risk free (nothing is) but there are a few advantages:
- You will probably have a lot more control over cost and schedule. A lot of freelance developers are willing to work on a fixed price basis if you have a reasonable enough spec, and in my experience freelancers are usually far better at estimating cost and schedule because it's virtually impossible to be successful as a freelancer if you can't develop cost and schedule estimates. If you encounter a freelance develop who can't provide cost estimates and schedules you're not dealing with a professional.
- If you select somebody who has been working as a freelancer full time for at least several years straight and who has happy client references (ask for these!), you probably don't have to worry about getting an email letting you know that they're joining Google. Actually at a certain point somebody who has been freelancing for a while is not going to be considered an attractive employee by a major company except under rare circumstances.
- Finding good freelance developers can be difficult, but in this market it's less difficult than finding a good developer who wants to work full time for a startup/company as a cofounder/employee.
2. Carefully consider your stack.
Some of the sexiest stacks (RoR, Node, etc.) are a bootstrapped founder's worst nightmare. The labor pools are smaller, and the rates are higher. LAMP isn't sexy but in a bind you're not going to have a problem finding a half decent freelance LAMP developer at a reasonable rate.