Recho Multiples: An exploratory environment for creative coding
Home

Recho Multiples: An exploratory environment for creative coding

December 15, 2025WebsiteGithub

Recho Multiples is an exploratory code environment for creative coding that enables parameter variations inspired by small multiples in data visualization. It allows you to generate multiple variations of your sketches by exploring different parameter values, creating a visual exploration space for creative coding.

Example 1Mathematical RoesParameter VariationsTwisted PorcelainParameter VariationsBees and Bombs

It also introduces a version control system inspired by Powerpoint, with a infinite canvas that visualizes all your saved versions, creating a spatial representation of your creative process.

Example 6Different Versions of TreesExample 4An Infinite Canvas of TreesExample 5Closer view of the trees

Inspiration

The inspiration for Recho Multiples comes from data visualization principles, but it's designed for creative coding. In the process of creative coding, coders spend a lot of time experimenting with different parameters. How can we accelerate this process through human-centered interaction?

Design is a Search Problem

The whole idea started when I watched Mike Bostock's talk Design is a Search Problem. He mentioned that design is a search problem, because the process of design is finding the solution that best communicates the design goal within the vast design space. He also showed a version control tool he used for designing visual journalism when he was at New York Times. This tool is for data visualization, but I thought the same principles could be applied to creative coding.

Mike BostockMike Bostock's Talk on Design is a Search Problem

Silverspot

Another important inspiration came from Jessica Stringham's Silverspot project, a tool that allows you to navigate through a vast number of variations for both a broad view and refinement. This is a great project that looks more like a design tool, which made me wonder if the same variations view could be integrated into a code environment. In this way, it would be more flexible, because users could apply it to any sketch. The key question became: what is the interaction?

SilverspotJessica Stringham's Silverspot

Small Multiples

I found the answer in small multiples from data visualization. This is a technique popularized by Edward Tufte where multiple similar graphics are arranged in a grid to enable comparison and pattern recognition. I recognized that the same principle could be powerfully applied to creative coding. Just as small multiples help data analysts explore different dimensions of data, a similar interaction can be applied to creative coding to explore the parameter space of sketches. This became the core interaction model for Recho Multiples.

Small MultiplesSmall Multiples in Power BI

Design Principles: A Visual Exploration Space for Creative Coding

As Mike Bostock mentioned, design is a search problem. Creative coding is also a search problem. The design goal of Recho Multiples is to make this process faster and reveal more possibilities through human interaction. At the same time, code remains a first-class citizen in this process to maintain expressiveness and flexibility.

Parameter Sweep

The core feature of Recho Multiples is parameter sweep. The environment automatically detects parameters in the code and makes them clickable. Clicking a parameter reveals a checkbox; when checked, the parameter is swept across a range from a start value to an end value in a specified number of steps. These values are automatically inferred by default, but users can manually adjust them. Multiple parameters can be swept simultaneously, with all value combinations rendered as separate sketches in a grid. With this feature, user can quickly explore the parameter space of their sketches and discover interesting variations. Here is a video showing how to use parameter sweep.

Number Sliders

I also added number sliders to help users quickly adjust the parameters. Although it's not a new feature, it's still a very useful tool to have. This feature is inspired by Bret Victor's Inventing on Principle, and implemented in a similar way.

Version Control

When user is searching the design space, they may want to save some interesting variations for later reference. Recho Multiples provides a simple version control system to help users save and manage their variations. When user duplicates a variation, it will be saved as a new version and added to the version history with a thumbnail as a visual reference. User can then navigate through the version history and compare different versions. Here is a video showing how to use version control.

Infinite Canvas

Recho Multiples also includes an infinite canvas that visualizes all your saved versions. It also can serve as a brainstorming tool to help user explore the design space. By default, all the versions are placed by a Tag Cloud algorithm, but user can also manually adjust the layout. Here is a video showing all the versions of a tree created by some of the participants of ITP Winter Show 2025.

Multiple Renderers

Recho Multiples aims to be a universal environment for creative coding, so it supports multiple rendering backends to accommodate different needs. Currently, it supports p5.js and WebGL2 Shaders. In the future, it will support a general type of sketch where you can use any web-based rendering library. Here is a video showing how to use the WebGL2 Shaders renderer.

Feedback

I presented Recho Multiples at ITP Winter Show 2025. I first implemented a simple fractal tree sketch as a demo. Then I invited participants to use Recho Multiples create their own versions of the trees.

ITP Winter Show 1ITP Winter Show 2ITP Winter Show 3

Most of them had no coding experience, so I simply told them to play with the numbers and see what happens. It turned out to be a lot of fun, and they created many unexpected variations.

ITP TreesTrees in ITP Winter Show 2025

I never knew we could create so many different "trees" with just a few numbers. The greatest moments were when they said "This is the number I was looking for!" after they experimented with the numbers. An interesting discovery was that many of them tried to change colors by setting channel values outside the valid range—less than 0 or greater than 255. Here is a link to these wonderful trees.

Future Work

Although Recho Multiples has already been open sourced, it is still in the early stages of development. There are still a lot of things to improve. I'm especially interested in the following areas.

Adding More Examples

More examples are needed to optimize the workflow of using Recho Multiples and to demonstrate how users can discover unexpected variations by exploring existing algorithms and patterns. As I always believe, examples are the best way to shape the tools. This can also serve as a learning process of more creative coding algorithms for me.

Example 7

Improving Parameter Inference and Visualization

Currently, I apply some very simple rules to infer the parameter range and step size. But it's not perfect. A better approach would be to use LLM to infer them with more context. For example, for a color channel, the range should be typically [0, 255]. Also, the multiple views are basically a visualization of the high dimension parameter space, how can we visualize it in a more informative way especially when the dimension is more than two?

Reflection

Recho Multiples is an exploration of how coding environments can better support the search process in creative coding. By focusing on exploration rather than results, the environment encourages experimentation and discovery. The ability to see multiple variations at once and easily save and compare versions creates a more fluid and exploratory creative workflow. During this project, I also learned three important things.

Exploration is a way of learning.

Unlike traditional machine recommendation methods, Recho Multiples puts human-centered interaction at its core. Users learn how different parameters affect the result and discover unexpected outcomes through this intuitive interaction. Like what happened in ITP Winter Show 2025, the participants discovered many interesting variations of the trees and learned how to draw trees even without any coding experience.

Creative coding is data visualization to a certain extent.

The core interaction model of Recho Multiples is inspired by small multiples in data visualization. This emphasizes my belief that creative coding is data visualization to a certain extent. The difference is that in data visualization, the data typically comes from external sources, but in creative coding, the data is mostly generated by code. With this perspective, we have the potential to apply more scientific methods in data visualization to creative coding.

If you can't make it good, you can make it big, or multiple!

Although multiples view is designed as an intermediate state for exploration, it can also be the final result as well. It's amazing that you can create something visually appealing by repeating same elements with a little bit of variation. Here is an example with multiple simple spheres.

If you can't make it good, you can make it big, or multiple!