I spent thirty-three years as a data architect. In that world, “granularity” was a requirement, not an aesthetic. You didn’t slice data because it looked interesting; you sliced it because that was the only way to make any sense out of it. The great thing about retirement is you aren’t constrained to those rigid, professional habits and can instead flow with the creativity.
Lately, I’ve been going through my previous drawings and paintings and thinking about ways I can reuse or mash them up. What if we could use one image to “paint” the other image. This mirrors the way we see. When we look at a face or a landscape, our brains don’t just register a flat file of pixels. We see fragments—memories of textures, echoes of other colors, and “tiles” of experience that we’ve collected over a lifetime.
I decided to build something that mimics that internal process. Using p5.js, I created an algorithm that takes one image (the “subconscious”) and slices it into a library of thousands of tiny, sorted fragments. Then, using a bit of recursive logic called a Quadtree, I let the program use those fragments to “paint” a second image.
The result is an abstract mosaic that feels less like a computer calculation and more like a reconstruction with even more character and depth than the original. It’s a reminder that even the most complex “big picture” in our lives is really just a collection of smaller, simpler truths—if you’re willing to slice deep enough to find them.
The first iterations of this approach treated everything as same sized tiles throughout with no border and nothing other than value to determine what to put where.
But that evolved into using a “quadtree” in order to put larger tiles in “less populated” areas. Combining that with a more interesting color/value choosing algorithm and optionally adding borders on the grid lines, resulting in the final product.
This final version allows for unlimited experimentation and surprisingly interesting results. I’ve only begun to scratch the surface.
Using an image on itself results in additional recursive effects.
It’s opening my eyes to new ways I can abstract my city map artwork.
I’m looking forward to what else I can create as it seems the possibilities are endless.
If you’d like to learn more or see the code, let me know in the comments. Your comments tell me someone is listening out there!














