Travelling around Europe over the past few years, I’ve noticed ceramic mosaic aliens dotted around buildings in cities like Paris and London.

Once I started looking for them, I found there are a LOT of them - it turns out there’s a French artist, Invader, who started it all.
They appeal to my geeky, computer-based nature, and I’ve long wanted to write something to generate and animate them. In July 2026, while visiting my brother in Finland, I got Claude to quickly knock up some Python to create these - it worked well enough that once I was home in New Zealand, it was time to do it properly.
Project structure
I have ideas for using this in a few different ways - a website, an API, a little Pi-driven LED matrix - so I built it as reusable code:
- an alien generator (
alien_generator.py) that takes a set of parameters - the alien’s “DNA” - and produces a JSON object representing the image: a list of rows, each a list of hex colours, one per pixel. - an image painter (
image_painter.py) that takes that JSON object and uses Pillow to render it as a PNG.
Aliens get an irregular but symmetrical shape, loosely based on a circle, oval, square or triangle.
The DNA parameters (all with sensible defaults) control things like image size, background colour, eyes (2 or 3, normal or “big”), number of legs and arms, and colour palette - cga (the old 16 colour palette), shades of green/red/blue, or the full RGB range.
Results
A 16x16 grid using the full colour palette, with most other options randomised:

And a batch of them running as a laptop screensaver:

Claude also put together a little GUI for editing and generating these:

I also tried a smaller 8x8 size, since that’s a common LED matrix resolution:
