While considering different ways to visualise p5.js as an emergent system (for example, a football match or a kitchen), I started to think about recipes.

Coding environments are built on accumulated patterns—reusable solutions that make certain actions easier, faster, and more “proper.” p5.js sits on top of these inherited conventions.
My practice moves between:
- following these patterns,
- breaking them,
- and sometimes using them backwards.
This is an adhocist approach: I don’t invent new systems from scratch, but reconfigure existing ones through situated use.
A recipe felt like the perfect metaphor, because a recipe is not an image of the outcome, but a set of conditions under which an outcome may appear.
At this point, I realised something important was missing.

I had already explored the two extremes of the spectrum: the most human-centric method, through manual ASCII typing, and the most automated method, through machine-led processing. But I hadn’t yet tried what could be considered the “proper” or canonical way of coding.
So I deliberately shifted my approach. I began working through p5.js in a more conventional way: using functions, parameters, structure, and modular logic.
To do this, I went through many tutorials, documentation, and other people’s code, adapting and modifying them rather than copying them directly, in order to build my own set of instructions.
Through repeated modification and refinement, this process resulted in my first canonical coded cake. I decided to develop cake as it had quite clear stacking and decorating procedure.







Once this middle position became clear, I realised I was no longer working with isolated experiments, but with a spectrum of instruction.

And it was at this moment that I decided to make that spectrum visible— So I decided to present the same cake as three different recipes, each corresponding to a different distribution of instruction and authorship.
The first recipe is a manual ASCII version, presented as a handwritten notebook, similar to a grandmother’s recipe journal.
I grabbed an old paper from the recycle exchange downstairs and started to translate my cake image into hand written ascii art.


Here, every character is placed through human judgement, time, and attention.
All the computational thinking happens in my head. p5.js is treated merely as a digital canvas.
The process is:
- linear,
- labour-intensive,
- and deeply personal.
This is authorship through human persistence—designing a form through sheer manual control.
The second recipe is the most “proper” coding method, presented as a palm-sized accordion book.

I started by coding the recipe and made the prototype.
When the accordion book is expanded, it reveals the full p5.js recipe: code, functions, comments, and logic working together. Here, p5.js operates as a living organism, very much in line with the Conditional Design Manifesto.



When the book is unfolded, we see the long process. When folded, we see the finished cake. This physically demonstrates the idea that “process produces formations rather than forms.”
Even ASCII art becomes drawing material inside the code editor itself, and error behaviour becomes an ingredient: when “#” turns red, it becomes a strawberry.
I also include failed recipes not as mistakes, but as moments where the system reveals its limits and assumptions. Functions and transforms act as kitchen equipment, shaping how the recipe runs.
The final recipe is a single, minimalist recipe card.
This represents the most automated method.
Here, I upload the cake image back into p5.js and translate its pixel data into a set of rules. The instructions are extremely short, but they trigger a complex automated process.

In this version, authorship is at its most detached.
My role becomes that of a system architect: I provide a seed and step back, allowing the machine to execute the translation. Meaning shifts from argument to instruction, and authorship moves from decision-making to delegation.
Ultimately, this project demonstrates that p5.js is not just an image generator, but a translation system where time, logic, and the surrender of control converge.
If traditional design is sculpture, directly carving an outcome,
then my role is closer to gardening.
I design soil, light, water, and seeds, and allow forms to emerge beyond my control.
The value of this work lies not in the final cake or image, but in the rigorous exploration of how meaning, authorship, and instruction shift across different systems of making.
Leave a Reply