Just small tips: if client ask you (the programmer, or project manager) this seemingly harmless question of "Can you do that?", you are basically one step away from deadly trap of workload explosion.
Because that question is the pinnacle of miss-communication in any website development projects.
The client is NOT asking if you can code the solution. He is not questioning your ability and skill to develop said features.
The question asked is not completed. The complete phrase is:
Can you deliver this within the same deadline perfectly as i imagine?
Yep, that is the real question that they ask you.
Thus, DO NOT simply reply to the asked question, but rather reply to the complete phrase above.
This make you realize that most of what they asked CAN NOT be done. Not only because that additional features is out of the budget, but also new task will need additional time.
New features = new deadline.
That is inevitable.
You the programmer will not feel bad to say no, as your ego will not be injured because the reason you say no was not your inability to solve said bugs or to develop said features, but the deadline to do so is unreasonable.
Client always have lack of understanding on how many time it needed to really deliver what they imagine.
That, plus their lack of effort in communicating what they imagine in the first place.
How many of us has heard the satanic phrase of "I'll know what i want when i see it."
That is the screaming red flag that the client is worth to do everything you can to move away from them.
May peace be with you.