What may seem like banter to one person may be extremely hurtful to another. This is especially true for new devs, who are acutely vulnerable to Imposter Syndrome.
Of course, banter between long-time colleagues is usually harmless. But it's often difficult knowing where to draw the line.
You also have to praise and reward devs for their successes. It's not black and white - you don't have to pick between banter OR praise. You can have both. It's a dynamic. Show them that you care and that they're doing good work, genuinely. Tease them about small mistakes with tools like this, sarcastically and socially, and it helps build up rapport and make the team that much more tightly knit. Pointing out simple mistakes in a tongue in cheek manner is a good way to show someone that they've made a mistake, but it's not a big deal and no one is actually upset with them about it.
It's still difficult to know when the line has been crossed. What's perceived as harmless (even productive) banter by everyone else may still be hurtful to the recipient. You never know whether someone is okay with it, or simply hiding their emotions well.
I do agree that a copious amount of praise goes a long way toward developing a healthy environment.
As a tool this would be pointless and unhelpful. A graphic splash that does not explain why the code is bad and how it could be improved. Junior coders would be just shamed while seasoned professionals would be just irritated. Shame and irritation are usually unhelpful emotions.
You just need to let the person that made the mistake post it themselves. Personally I think it's fun to laugh at myself though I agree it's not fun to be laughed at sometimes.
Yeah, it's obviously for funning around. The problem is that it just turns into (at best) passive aggressive nonsense at offices where the kind category of banter needed to playfully respond is generally not allowed. In that case, all the wet blanket responses do alloy.
Of course, banter between long-time colleagues is usually harmless. But it's often difficult knowing where to draw the line.