Recho is a collection of open-source, lightweight code environments for artists to explore coding as a medium for exploration, learning, and creative expression. From reactive notebooks that echo output inline for instant feedback, to live coding performances that merge code with music and visuals, to exploratory environments that visualize parameter variations by small multiples, each tool offers a unique approach to making coding more accessible, playful, and expressive.
Recho Notebook
Recho Melody
Recho MultiplesI have always been interested in making coding more accessible and playful. First, I tried to achieve this by making libraries such as AntV G2, Charming.js and PyCharming, because I believe that a library itself is a language and language shapes the mind. But then inspired by p5 web editor and Observable Notebook, I realized that
A good language alone isn't enough to make coding more accessible, the environment also matters.
So I started to build code environments. From then, I found another interesting observation:
Engineers and artists have different coding workflows and purposes.
Engineers often have a clear picture of what they want to create, but artists often don't. For artists, coding is more like a search problem, finding the result that best communicates the idea. Coding for artists isn't just about the result; it's also about the process, which can be public and performative.
Existing general-purpose code environments like Cursor and VSCode are built for engineers and lack support for artists and beginners. Meanwhile, code environments like the p5 web editor or Processing editor are designed for specific libraries and aren't flexible enough. So I want to build code environments to fill the gap.
Like traditional code environments, Recho treats code as the first-class citizen. This is because I believe
In the age of generative AI, code as text has the potential to be the most flexible and expressive user interface.
I want to explore this possibility. Unlike traditional code environments, Recho introduces visual components to support the coding process. After all, most artists' work relies heavily on visual thinking. I want visual thinking to guide the coding process, not replace the code.
We can think more like a machine for efficiency, but still need to think visually for expressiveness.
Now we have three domain-specific tools in the Recho ecosystem. Recho Notebook is a reactive environment for algorithms and ASCII art. Recho Melody is a live coding environment for coding with music. Recho Multiples is an exploratory environment for creative coding. Please refer to each project page for more details.
A lightweight, text-first notebook environment that explores programming as a medium for learning, exploration, and creative sketching
A live coding piano editor that merges code, music, and visuals into a performative instrument, enabling expressive coding performances
An exploratory code environment for creative coding inspired by small multiples in data visualization, exploring parameter variations
I had the idea for Recho after an inspiring conversation with my friend Luyu Cheng. I spent a week developing a prototype and shared it with Luyu, who liked the idea and joined me. After releasing Recho and holding a workshop, we realized there are more types of code environments we could explore. So we renamed Recho to Recho Notebook. I then released and performed with Recho Melody at ITP NIME Show 2025. After that, I released Recho Multiples and invited people to try it at ITP Winter Show 2025.
Recho is my thesis project for ITP. A lot of friends think I've finished it. But for me, it's just the beginning. After building different tools, an important lesson is that
Building tools are easy, but it's hard to let people actually use them.
I don't want Recho to be a tool just for me, but for others. The question is how can I do it? Another important lesson is
Teaching is the best way of tool shaping.
By teaching, I mean examples, tutorials, and workshops. These help others understand what the tool does and what they can create with it. They also help find flaws and improve the tool. More specifically, I plan to:
I'd like to share all these processes on Instagram to make them more open and accessible. In addition to that, I'll try to host workshops in different places to let more people know and use Recho. If possible, I'll perform with Recho Melody again!
Through all of these, I want to build a community where everyone can code and everyone loves coding—not for work, but for learning, exploring, and expressing. A community where people treat code like a painter's brush, a musician's sound, and a filmmaker's light and shadow.