I was hired to update a website for a client, based on a designated list of tasks. The client paid fully upfront, and we set a rough "loose" project completion estimate at 3 months. It was a fixed-fee project.
We've far exceeded those 3 months due to multiple delays throughout the project - some significant ones from my end (I was unexpectedly unavailable for a few weeks), as well as delays from the client side (slow to reply to requests, etc).
I know this client from a previous life, so neither of us made a big deal about the delays, especially since it wasn't extending the scope of the project (beyond the literal amount of weeks).
However, I just hit the point of being totally blocked on work because I need a bunch of things from the client before I can proceed on the remaining tasks. The client has known about these requests for a few weeks already without any progress.
I'm concerned that this project will just continue dragging out without any real progress. As such, I want to set a hard deadline (giving him 1-2 more weeks to unblock those tasks, and then 2 weeks for me to actually do the work).
With the background of all these delays, what's a fair way to express to the client that the project expires in 4 weeks?
Alternatively, is there a different way I should handle this?