There are always new features your customer wants to implement, the deadline for each one is last week and you should feel incompetent for not having finished all of them two weeks ago.
This follows from a stable project built from code you can change without the whole thing coming down on top of you.
So for your own good, you need to make the situation clear.
Key is now to take the information you get from your monitoring tools and the yearning for walhalla, combining the two to decide which problem to tackle first.
Your biggest problem might not be a realistic goal right away, but start refactoring manageable roadblocks first and make your way there.
Even the most treacherous morass will have, here and there, a few spots that aren't too bad on their own.
Whenever you find a bit of code that does a thing well, move it to your brand new library so it can be reused.As a result, your precious users will leave, and join the party in the swamp next door and have a long island iced tea at the cocktail bar there instead of standing in your impeccable square meter meadow you've painstakingly created over the past year.Your meadow might be pretty in and of itself but there's just not much going on there.You need to be able to see what is going wrong at any point in time.Now you know where and when it hurts, enabling you to administer first aid instead of potentially spending all your time scratching itches on a dying man.Fixing problems that matter is essential, but this does not imply details do not matter. The boyscout rule of keeping the camping ground cleaner than you found it is rule number one in the swamp survival guide. A good indicator of civilisation is the number of libraries per square meter.