I do pretty well the same thing. 20% is a good tip for good service.
I'll adjust down for lousy service and up for outstanding service.
And I tip based on the quality of the service, not on the quality of the food or other things which the server has little or no control over,
When we go eat it's usually a lunch. The cheapo places we go are most often about 20 bucks or so and I will tip about 5 bucks depending on the waiter/waitress. If I don't like them, the tip reflects it. Get the order wrong, and they get a nickle.
But maybe I should put this over in the what po's you section but, we went to San Diego once with several people to see a Chet Atkins concert. When we stopped to eat, there must have been at least 10 of us. The girl was FANTASIC, got all the orders right, we were kept filled up on drinks, (ice tea for me) and when it was all done, all these other people where arguing over nickles and friggin dimes who should pitch in what. I tossed in enough to cover my wife and I and my mother and a good hefty tip. Well, one of the @#*%@# at the table stole the EXTRA money (about 25 bucks) and that poor waitress hardly got poo for cranking out a good job. I was PO'd.