For for-profit projects I usually give them a time-limit and a hard budget. For example: I'll put a max of 40 hours and $2,000 into project XYZ. If I hit either limit without turning a profit (or at least seeing some return on my investment), I'll move on to the next thing.
I've found that the trick to side projects is to keep moving until you find one with product-market-fit. Don't let yourself get bogged down trying to make a mediocre idea into a real business. In my experience, when you hit something good, the market will let you know immediately, so just keep testing ideas into you strike oil.
What makes it dirty is the fact that for a small MVP I won't write any tests at all, I won't bother to build a real API or micro-services or a fancy single-page-app client. I'll just build a simple monolithic MVC in an out-of-the-box framework. I won't worry about scalability, in fact I'll make choices that I know won't scale at all. It's all about cranking out code as quickly as possible. Yeah it ends up being ugly spagetti, but 99% of the time, nobody will ever see it, and I'll throw it away soon after. (If the project does get traction though, I'll start over and build it from scratch the right way).
And no, for me, educational projects are usually open-source (i'll join a project or start one of my own if I want to get more experience in a certain area). So those projects are more likely to be libraries or utilities or helper-classes, not fully fledged businesses. So it's unlikely they'd ever even be monetizable.
Also, there are quite a few themes/skins/ui-kits for bootstrap and other front-end frameworks, that are worth taking a look at if you don't have a designer to work with. They won't compare to having a real designer on your team, but they're better than nothing... you can get something passable up and running that isn't embarrassingly ugly.
But, this only applies if you're building products whose primary value proposition (and product market fit) has little to do with the design (think Craigslist).
I'm also curious about your $2000 budget. It seems like a lot of money to me.
What are you spending it on? Have you often spent up to $2000 on a project that ends up going nowhere?
Presumably your successful projects are paying for your failed ones. What's your expected ratio of hits to misses?
Finally if you'd be happy to share any of your projects here that would be really interesting.
But to answer your question, for each project I usually spend:
* a few bucks on a domain name (plus extra for private registration)
* 5 bucks per month for a Google "email and apps" mailbox
* $200 - $400 for hosting (spread out over a few months)
* $50 - $100 for stock image licensing (via fotolia.com)
* > $100 on adsense campaigns
* > $100 on facebook ad campaigns
* About a hundred bucks for music royalties (if I have an explainer video with background music). I usually license music through tunefruit.com
* 50 - 100 bucks for font licensing if needed (rarely needed)
* 50 - 100 bucks to buy a bootstrap theme that I like (sometimes needed)
* If it's a company in a degenerate/high-risk space (porn, gambling, etc), I'll also spend a few hundred bucks to wrap it up as an LLC unto itself. I don't use a service for that, I just walk into the Secretary of State's office and file the form myself, and usually pay extra for expedited processing.
The ratio of hits-to-misses is like 1 to 10 or worse. Most projects die halfway through the build-cycle because I realize they're unviable and kill them before I spend any more money. But of the ones that make it launch, only about 10% ever make any money. But yeah, the wins more than cover the costs of the losses.I don't like to list the projects I'm currently involved with, sorry. But here's a few examples of some failed ones from awhile back (they've all been disabled, you can't actually use them anymore...they're just live as part of my portfolio now)
* itchwork.com
* fonetree.com
* vareay.com
* streamlet.com
Hope that helps.Realistically, this means you should choose to work on something that you actually want to use yourself and you should build it using technology you want to learn for career advancement. As for monetization, don't count on this, but if you have several options in terms of side project that are roughly comparable in terms of personal interest/professional development, it would be prudent to choose the one that has the best chance to turn a profit.
$100 + time before project goes live
$250 + time after launch and until revenue generation
$1,000 + time after revenue starts coming and until cash flow positiveA couple months ago I became aware of PostgREST. It's an interesting project and aspects of it appeal to me. But it's still worng.
So I thought "why not do something like that, but in Common Lisp". I messed around with it for a few weeks and proved to myself that I can in fact, build a better mousetrap. Spent a couple more weeks toying around with writing a new postgres client library to support it.
And finally, last weekend I returned to Django. When I've got the iPhone and Andriod stuff working and have it all deployed -- I'll go back to the Lisp stuff and reimplement the backend.
For me, a side project is an opportunity to build something while allowing myself to run off on little tangents. I can't justify doing that when working for somebody else.
But on a side project nobody even knows I'm working on... Might as well might as well.
I also like them as ways to collaborate with friends and strangers.
Right now I'm working on a CI tool, a browser testing tool, a web app for collaborating on song chord sheets, and a new kind of real time database.
The chord app is for my band, and some friends are helping. It might become useful for other people.
The CI and test tools are infrastructure that I'll use for other projects.
The database is a stepping stone for a long term project...