Save early, before the Editor actually presses save. Only commit the change if the Editor actually presses save.
This will improve the Editor experience by making save faster at the expense of CPU time. Predict well enough, or do enough processing client side, then you won't need extra server side CPU used.
What is more precious to you? The human Editors or some dumb pieces of silicon?
When you don't have much funding, both are extremely important, and when you can't buy more silicon, you either need to optimise the code or let the human wait.
However, the method I mentioned can be done with zero extra server load if done correctly. I've done this before with other editors, and it definitely did not take a team 12 months to complete.
It is a full stack optimisation however, from UI all the way through the DB and the rest of the stack. Now that they're using only 10% load, there's plenty of room to breath.
Saving a draft of what someone may have spend hours typing into a crash prone browser is good UI practice regardless.
Again, "full stack optimisations" cost money, if there's not the money to throw more machines against it (which is often, though not always, cheaper than dev time) then there's not likely to be the money for extensive dev time either.
Saving a draft is indeed good UI practice, but best practice is never "regardless" in the real world, particularly in cash/manpower strapped non-profits.
Save early, before the Editor actually presses save. Only commit the change if the Editor actually presses save.
This will improve the Editor experience by making save faster at the expense of CPU time. Predict well enough, or do enough processing client side, then you won't need extra server side CPU used.
What is more precious to you? The human Editors or some dumb pieces of silicon?