This article is frustration embodied, and I completely empathize, having been in a very similar situation with a large and long running project that had many (thousands of) users. Motivation and enjoyment comes and goes, but I couldn't bring myself to stop doing it because of the effort it took to get there, and because people were using it and counting on it's continued development.
The author is sad and tired and can't see the big picture. It's extremely unlikely he's getting worse at programming, unless he works really hard not to learn from this -- but this article is evidence he's already learning what happens to big projects. You have to acknowledge what's going on (done) and then step back and think about how to improve the situation.
I'm not sure how to find the motivation to continue, if that's what he really wants. But at least take a solid break and then spend some non-dev time re-evaluating what's important and where you're headed. Consider whether continuing solo is a goal, or whether recruiting real partners might be what both you and the project really need. Ask what success looks like.
As for permission to quit, it's not true that giving up is a massive loss of work. All the work done is already done. Lily runs, and lessons have been learned. The code isn't going anywhere. You can walk away from this and you get to keep everything you ever put in. What you lose by quitting is future potential, not the sunk cost. So if you want to quit and the only thing holding you back is fear or sunk cost -- go ahead and quit, sunk cost is imaginary in this case.