I am working on a huge, multifaceted application/service for a client which never seems to stop growing in size. For various reasons the client has decided they don't want anyone else to work on the project; so although I was originally hired only to develop a portion of the entire system, I am now stuck doing everything by myself.

Getting paid isn't an issue because I am billing the client hourly and they seem happy with the flexibility this gives them. However, they are adding new features to the requirements on a weekly basis, much faster than I can develop them, and there doesn't seem to be any end in sight. I have done my best to lock down the requirements but the client keeps thinking of new features they want as they develop the content that will go on the service. 

Months ago they mentioned several times that budget was an issue when considering hiring a second freelancer, but it hasn't come up since. We've already spent much more money than I assumed they had left, so I have no idea whether there is a danger that they'll run out of funding before everything is ready to go live.

My main concern is that the service will never get finished, or that by the time it gets finished it will be ready to blow over in the slightest breeze like a skyscraper of cards. I am finding myself increasingly unable to keep up with the scope - accidentally breaking features or even duplicating existing code that I forgot I wrote months ago.

Recently the client has been asking for endless analytics and views for their content. I can't imagine they will ever find any practical use for some of the data they are requesting or sorting features they want implemented. They've been changing the requirements for the content management interface so much I haven't been able to *implement* any of it, so it's not like they're using an existing system and realizing they need features that aren't there. They're just tacking on new features they *think* will be useful.

 - I've tried recommending they wait until the service is live and has a good deal of users before worrying about in-depth analytics (gently suggesting that all of the analytics in world are useless if the service isn't popular).
 - I've told them I do not specialize in some of the work they are having me do and am not the best person to do all of it; I've even told them this project is much too large for one person and they should hire a firm (they may not have the budget for a firm). 
 - I've suggested we hold off on some less-important features until the service goes live so we get something out the door faster
 - I've told them that if budget is a concern, it might be a good idea to prune some less-important features entirely

The client is very friendly and likes me a good deal; they normally take what I have to say seriously, but I can't seem to get them to ease off on new features.