Graffiti Moe has been a moderate success — enough people spraying the wall that it felt worth pushing further. So I did. I added a few features that make composing more fun and keeping the wall cleaner a lot less work.

In case you missed the announcement the other day, Graffiti Moe is a public “graffiti wall” where anyone can leave messages and ascii art. You can then use the CLI (or a regular curl call) to get a random message from the wall when you log into your terminal. It’s fortune, but social.

Paint mode

This is the big one. You can now spray more than one color in the same message.

Hit the spray-can toggle on the compose page, pick a brush color, and drag a rectangle across your text. Want bold on one piece and not another? Bold is part of the brush now, so you can mix normal and bold runs in a single spray. The result is stored as painted runs that render on the wall and in the CLI with the right ANSI colors.

It’s still the same terminal aesthetic — just less “one swatch for the whole tag.”

For the time being, “painting” is only available on the website, sprays made from the CLI can still only have one color applied to them. I might make a TUI for this eventually, but I’m focusing on the web experience for now. Running graffiti spraypaint (with the CLI installed) without arguments will open the web page for you directly.

Filtering that doesn’t get in your way

Two quieter changes:

  • There’s a 10 character minimum so drive-by gibberish has a harder time sticking.
  • Obvious test posts get auto-flagged. Flags only show up in my admin panel — regular visitors never see a “this might be junk” badge on the wall.

That keeps the public experience clean while giving me a queue of “probably not art” to deal with later.

Quite a few of the messages posted were clear tests of the interface, and there was no way to undo them, so I changed that. You can now delete your own posts (not others’) for as long as your browser session lasts.

I also added flagging, so that users can report offensive content. If a spray gets 3 or more flags, it gets escalated into my review queue. That should allow users to help with the admin process.

Admin that might actually last

I also spent real time on the admin side — the stuff only I (or anyone I hand the password and key to) can see.

From there I can filter flagged posts, batch approve or delete, and use admin tools from the main wall when I’m signed in. Users won’t care about any of that, and that’s fine. What matters is that maintenance is less of a chore, which is usually what decides whether a silly project survives the first wave of spam and keyboard mashing.

I also added an API route for counting flagged posts and updating a TerminalWidget widget on my desktop that turns red when the queue needs review, along with my notifications that there new Marked styles and TerminalWidget recipes have been submitted.

Go leave a mark

If you haven’t sprayed yet — or you have and want to try paint mode — go poke around!

Leave something on the wall. ASCII art, a one-liner, a multicolor mess. The wall’s better with more graffiti on it. I’ve been using graffiti as my login message for a few days now and it’s been overall delightful.