I have been working with a client on an elaborate website for more than 12 months. The project is almost at completion, but there's some technical barriers stopping it from being finished: they have asked for extremely complicated features that, at the time (time being 8 months into the project), I said may be feasible, but now I know it is not. They expect the site to be ready now. (Update..) I would like to add that this was not communicated well to the client recently due to a whole host of personal problems, which unfortunately had serious impacts on my ability to work. They are aware it was a difficult time for me.
The problems arise with the fact that as the project has been under development, more and more requirements have been added to it. It's now at a stage where it is so complicated that I do not believe the infrastructure the business can afford is going to handle it at all. On top of all this, as the additional requirements are so demanding I have struggled to dedicate the time or resources to complete the project, leading to an angry client (I only work part-time on this, generally evenings).
To top this all off - I have completely finished my freelance career now. I enjoyed it and feel as if I have been relatively successful at it, but I'm moving onto a different career path. I'm extremely worried about this project and the client though, as they are friends (a big no no I now understand in the freelance world..!) and I do not want to harm my reputation (on both professional and personal level) nor lose a friend.
My question is... How do I get out of this situation? How can I break those kinds of facts to a client so late into a project?
I understand this may be a vague question in some ways, but I don't know where to turn. Any help would be deeply appreciated.