skip to content
Go to the home page

The resurrection of Helvetica Bot

Published by Jack Lo Russo on / 4 min read


Back in the day I made a Twitter bot that generates designs inspired by the classic ‘John & Paul & Ringo & George’ t-shirt. I brought it back to life for Bluesky!

View Helvetica Bot on Bluesky

Origin story

I built this project in a rush of pure inspiration. It was 2018, I was sitting in a café in Prague and I had just finished reading Darius Kazemi’s write-up of how he made his Bracket Meme Bot using the Wikipedia API (if you’re into computational creativity and you’re not familiar with his work, you should definitely check him out). I looked up from my laptop and immediately noticed somebody wearing a “John & Paul & Ringo & George” t-shirt. An idea for a new Twitter bot just fell right into my lap.

The original "John & Paul & Ringo & George" tshirt design

The design of these t-shirts is so simple, yet visually striking, that it has spawned countless imitations. The concept of taking a well known group (like the Beatles) and listing it’s members one by one hits an interesting balance; you show your allegiance to a group without necessarily using the “brand name” itself. It has the effect of a nod between people “in the know”, especially when the groups used are quite obscure. If you’re interested in reading a little more about the origins of the design and the people behind it, you should check out this article from the archives of the iconic design studio Experimental Jetset. I love how they frame the underlying idea of the design: “pop-cultural imagery ‘abstracted’ through text”.

Back to the bot!

It works by using the Wikipedia API to select a random Wikipedia Category that has a plural noun in its title. It then gets the list of Pages in the Category, and picks 4 at random to draw to a canvas before posting via the ATProto API. A Github Action that I set up with an hourly cron jon wakes up the bot and triggers the process.

Selected examples

Sometimes the bot follows the traditional pop-culture format of the original inspiration material.

Screenshot of a Helvetica Bot tweet. The category is "Mario characters" Screenshot of a Helvetica Bot tweet. The category is "The Godfather characters."

Sometimes the categories that the bot chooses are significantly more obscure…

Screenshot of a Helvetica Bot tweet. The category is "God complexes in fiction." Screenshot of a Helvetica Bot tweet. The category is "Fictional characters with plant abilities."

Sometimes the bot teaches you a little about history or biology.

Screenshot of a Helvetica Bot tweet. The category is "Ancient Greek Potters." Screenshot of a Helvetica Bot tweet. The category is "Spiders described in 1916."

Sometimes it highlights members of less well-known groups that people really should know.

Screenshot of a Helvetica Bot tweet. The category is "Disability rights activists."

Sometimes the bot reveals a little bit about how Wikipedia itself actually works. Here are some terms that are under discussion for whether to implement an automatic redirect — some contemporary news has snuck in. Clearly enough people are misspelling ‘Novel Corona’ (virus) that Wikipedia is considering automatically redirecting!

Screenshot of a Helvetica Bot tweet. The category is "All redirects for discussion."

… and sometimes the categories are just so damn specific that it’s just kind of funny to imagine a tshirt being made for them.

Screenshot of a Helvetica Bot tweet. The category is "Badminton players at the 1978 Commonwealth Games."

Making a Bluesky bot

Thanks to Monica Powell and Phil Nash for their projects that I used as a reference. Monica’s repo helped me figure out how to post images to Bluesky and Phil’s showed me how to use Github actions to keep Helvetica bot running. I definitely recommend checking these projects out if you’re interested!

You’ll always know if a Bluesky bot is made by me because the handle will be a subdomain of mine — in this case, I’ll be writing a follow-up post on this topic because I learned a few things this week.

Lessons Learned

Something that I’d never really considered back when I put this bot together was the fact that the bot might put some extremely uncomfortable or disturbing content out there. I’m using a word filter for some common “naughty” words, but didn’t think about the fact that words like “disasters”, “wars”, “deaths”, etc. were all words that aren’t inherently controversial… They only become controversial when they are used in situations like a bot that randomly uses them to generate a t-shirt design. I’ve had to update the word filter multiple times to ensure my little art project isn’t accidentally making people uncomfortable.

Bots can be a handful, let me tell you that.

See more posts or subscribe to this site via RSS feed if you like!

Webmentions for this post

3 people liked this

  • Monica
  • Helvetica bot

1 mention

  • Jack Lo Russo

    Jack Lo Russo

    Introducing ✨ Helvetica bot posts generated designs inspired by the classic "John & Paul & Ringo & George" t-shirt. Content is randomly sourced from Wikipedia. Sometimes it is pretty wacky! I wrote a blog about it here: