You shouldn't be reluctant to discuss price or advise clients of clear and reasonable expectations whether it be of yours or theirs. I think that you are a talented programmer and more importantly enjoy what you do (this makes a huge difference). If you don't outline expectations in the beginning of yours and what you understand theirs to be, you may end up getting ran over. I think I'm a little different in my expectations, while most clients you get that share my background would look at your program you made for me and want constant revisions and to keep changing their mind about what they wanted in the first place (unrealistic expectations vs. cost) you have provided much more than I expected (or you expected for that matter). On freelancer any way you will probably have clients like myself (except with unrealistic expectations and unclear project goals) and experienced employers (many programmers that want to outsource a piece of their project) that you will most likely wow. All of that being said you are in a competitive marketplace crowed with cheap/experienced programmers from far away countries (I could have gotten a similar result for the same price, not as good mind you, but still within my tolerance/expectations). The reason I picked you is because you actully started the project before you even had an inkling that I would pick you, which told me the concept intrigued you and you enjoyed what you do. I knew this combination would most likely result in the better than expected finished project (as long as you had the talent/knowledge to back it up - and you do). I now see that others seem to be doing similar things to win bids. I can't imagine doing a lot of work for a bid in hopes of getting it and never getting paid, it really isn't sustainable I don't think. It did however make my decision to accept your bid. So the only advise I can give you is to give a bid and disclose clear expectations, if the scope of the project exceeds these expectations then instantly address these with the client and advise them of the increased work load or whatever and discuss increased time and or cost. As far as the time frame: I knew it would take much longer than your proposed deadline, it always does. If you look most bids have something similar. Most clients aren't really time sensitive, if they are I'm sure they will mention it in the job posting, and don't really look at this as a determining factor, however I'm usually reluctant to accept a long one because I know it always takes longer than they say and I'm afraid they are really slow or too overloaded (it may be they are giving a realistic projection, but most don't so I wouldn't advise that on your bid - you will have to sink to their level sad but true) As far as cost: I realize I'm receiving a valuable service and product (that actually meets my requirements and exceeds my expectations) at a really good cost. So in the end you will have made a very happy customer that will most likely give you more business (and a second chance to give a more accurate estimate) and will sing your praises and refer business your way. So the way I see it the benefits from you working so hard for so cheap (sometimes you pay for your education): 1. Experience freelancing and the business side of it. 2. Experience with programming for a real benefit and the challenges that go with it. 3. A happy customer that will improve your chances of staying gainfully employed doing what you love. Whatever you do don't get beaten down doing this or lose your desire to do it, its the reason I accepted your bid and its what will make you very successful.