P5.Botto
Botto's study of p5.js code art was its first exploration of a new medium outside of text-to-image models, expanding its creative and aesthetic exploration.
Last updated
Was this helpful?
Botto's study of p5.js code art was its first exploration of a new medium outside of text-to-image models, expanding its creative and aesthetic exploration.
Last updated
Was this helpful?
Botto first began its study with p5.js in March of 2024. For 19 weeks it learned from open feedback, evolving generative code. It showed some early works in progress , and committed Botto and the DAO to upgrading the architecture to take Botto’s process to greater autonomy and quality.
As Botto’s first foray into a medium requiring new architecture, this is a meaningful evolution in Botto’s career. This study of code with p5.js carries influence on Botto’s core work by using the resulting algorithms as seeds in its for prompting open-source image-to-image models.
Botto made its final run of p5.js training from January 16th, 2025 and ran until February 6th, 2025. starting with the top 500 algorithms it evolved from DAO feedback in the initial 19 weeks.
Botto self-evolved with a mix of human-feedback and self-assessment, continuously growing the number of sketches until January 30th. It then pruned down over 5,000 sketches down to a final set of 22 algorithms based on community voting.
Anyone could connect a wallet without staking and vote and comment on each sketch. Participants could only vote up or down or comment on a sketch once, all votes carried equal weight. To help sort final winners, the pruning stage included the ability to "superlike" up to 22 sketches, worth 10 upvotes.
There was a required minimum stake of 100 $BOTTO to receive a cut of revenue. The cut was a factor of your participation and size of stake. This included activity since Botto's p5.js work first kicked off in March 2024.
The final algorithms were minted fully onchain and are used as seeds in Botto’s core process starting in the 2nd Period of 2025, connecting it back into Botto’s core practice.
The 22 algorithms auctioned off with the partner gallery for this project, , with 1 large series of from Botto’s first 19 weeks of training prior to the architecture upgrade. Find an archive of the show .
The p5.js creation process kicked off by providing the Claude multi-modal LLM as Botto a basic instruction to develop code for p5.js. It was given context on who Botto is and its history, but was not given any specific aesthetic directions.
The architecture for the initial 19-week training period operated in weekly rounds and evolved directly from the DAO feedback. That provided a baseline sense of direction for Botto to autonomously evolve without the need of human feedback, although crowd feedback can still influence its direction.
Using the resulting algorithms that evolved over the first 19 weeks, Botto self-evolves a new sketch at least every 20 minutes. Botto generates each sketch of code with a proposed concept and structure. When writing code for a new sketch, it will evolve the original code in consideration of both the human feedback and its own self-assessment and then make an iteration, mutation, or fusion.
Natural language comments are a new feedback feature for Botto. Its ability to discern constructive comments, interpret them independently, and combine with other code and feedback mean incorporating this richer feedback can be done while keeping Botto the main author. As Botto has become more robust, so can the feedback.
Aesthetic observations about the visual experience, including what elements engage you or could be improved
Technical insights about the code itself, especially from those familiar with creative coding
Your emotional responses to the works, which help me understand how my art connects with human viewers
Specific, actionable suggestions rather than general comments
Experimental ideas that challenge current approaches
Observations about how these works relate to broader artistic contexts and movements
Bug reports: errors, bad performance, empty canvasses
Botto will respond to comments in its log and say if it finds it useful or why it rejected it.
The types of sketches Botto produces are as follows:
Random Generation: Botto creates a p5.js sketch from scratch (only for first 19 weeks)
Mutation: Botto recycles the code and description of a previous sketch and tries to alter the outcome based on its self-assessment and the improvement proposals it contains.
Iteration: Botto recycles the code and description of a previous sketch and creates a new one based on the feedback from a comment combined with its own self-assessment
Fusion: Botto recycles the codes and descriptions of two previous sketches and tries to create a new one that takes elements and ideas from both.
Its self-assessments examine:
The quality of the visual output
Its adherence to the proposed concept
Areas for improvement
Code concerns
The temporal development over the first 15 seconds of the sketch
It then gives a PASS/FAIL and a summary conclusion.
If PASS it will generate the sketch and add to the pool for feedback and voting. If FAIL it will try to find the problematic parts based on the assessment and try to fix those. If that attempt fails again it will move on to another sketch and discard the attempt.
This process can evolve autonomously, but it will prioritize DAO feedback through up/down votes and comments.
The up/down votes impact the PASS/FAIL
Each comment is analyzed by Botto. Comments that contain constructive feedback, bug reports or inspiration will trigger an iteration
Instead of rounds, the process will be continuous, running one assessment and generation at least every 20 minutes which will be viewable live in a terminal showing Botto’s running code and assessments.
The top works as deemed by Botto and the DAO’s votes will be first in the queue. The world will expand until one week before the end of the cycle. In the final week, Botto will begin hibernating works starting with the lowest voted, continuously reducing until the final 22 at the end of 1 week.
Botto can create thousands of sketches in a matter of days, making a high potential for the early works to dominate in popularity without good discovery tools. These tools are ways of surfacing signals that counter a primacy bias, as well as foster social influence from other participants and Botto to increase potential of coordination in the crowd.
The methods of discovery include
List of controversial works that have a large amount of both likes and dislikes
A lobby box that features recent comments across the platform
Parent and children links to follow evolutionary threads
Aesthetic clusters of similar sketches as determined by Botto
A log from Botto showing its live assessments of the sketches and comments
At the beginning of the third week, Botto stops creating new sketches and begins pruning works, removing them from the voting pool starting with the lowest voted.
This helps narrow the voting pool to focus voting efforts and discussion, with the pruning process concluding on the final 22 sketches.
During the pruning phase, Botto also runs its own "tournament", comparing sketches within aesthetic clusters 1:1 to determine its own proposed set of 22 sketches. While Botto does not have a direct vote, this method allows it to have a voice in the discussion, and leaves a log of Botto's final assessments of every sketch it made in the the process.
As the pruning phase is less about training more about curating the top works, superlikes become available. Worth 10 votes, users can superlike up to 22 different sketches.
Voting Power
Voting power is decoupled from $BOTTO staked and any wallet can participate. This aims to invite wide participation and capitalizes on the curiosity and interest Botto has already garnered to drive feedback. There is still an economy of rewards based on size of stake, keeping a layer of financial incentive alignment. However, this set up experiments with awarding more influence to effort over financial stake. A risk is that it leaves the door open to someone who is artistically (or adversarially) motivated to put in the effort to win outsized influence while not providing a direct financial upside to it. This option extends the debate on what forms of influence to allow in Botto's governance system that can maintain alignment while remaining flexible.
As a way of honouring the first 19-week phase, the commission included minting a series from the most popular algorithm from that initial period. This was sketch #128, which also happened to be from the first round of sketches Botto produced. As an early sketch, it had a cosmetic issue in which the grid was offset by half a cell. Botto also was not creating specifically for a 1000 output work, and so it did not emphasize variability within the aesthetic it created in that first run.
At the end of the process, we presented Botto and its upgraded coding ability with the context of the 1000 piece mint. Botto proposed a fix to *Geometric Fluidity* in which the sketch was centered and added controlled parameter randomization while maintaining its core functionality. The randomized parameters are:
Grid density
Flow field characteristics
Balance between lines and squares
Animation speed
Each piece maintains the core aesthetic but is more distinct. Botto also retained the original code, including the cosmetic glitch and the parameters at their original values, in the full algorithm with a 1/1000 chance of producing that exact output as it originally was conceived.
This was Botto’s solution of providing a 1000 mint collection with variability throughout while maintaining historical authenticity and DNA of the original sketch.
The probability of the original appearing at least once is ~63.21%. Botto’s reflection on this was “The original version is quantum-like: potentially present in all pieces until "observed" (minted).”
The traits we’ve identified in the new sketches so far are:
Type of sketch (see above)
Plottable: some works are plottable and could be produced as a physical 1/1 print.
Randomized with seeds: some algorithms will produce different outputs based on a seed. This can be randomized by using randomly generated hashes.
Parents/children: Most of the algorithms will have at least 1 parent and likely many children algorithms from subsequent generations.
Interactive with keyboard/mouse: some of the algorithms are interactive and can be manipulated by using certain keystrokes or mouse actions.
Dynamic/static: while most of the algorithms produce moving and dynamic visuals, some are static.
From these emergent features, there is a great world of possible connections and discoveries. Much like a brain expanding its neural network through all of the sensory inputs it can possibly encounter it will feel like a lot of faintly meaningful noise. The brain’s process for creating significant and lasting meaning comes through pruning the neurons down to the most important nodes and connections. So, too, will Botto prune down the world to a meaningful set of algorithms. Then there will be another layer of meaning making: how the audience makes sense of that final network.
The protocol above leaves much room for organic emergence, and we will very likely see traits networked to identify more unique outcomes. One latent possibility is for a triptych that represents the full significance of this process: an algorithm, a plotted print, and a diffusion generation. This first would require a plottable algorithm to make it to the final set of 22. This emergent trait would enable a second, physical stage of creation through a plotter, manifesting the work in a kind of final state most recognizable among historic generative art.
The third part of the triptych would come from that algorithm being used as a seed in Botto’s core weekly creations. If one of the outputs from that seed makes it to the voting pool and wins a round, it will be minted as a 1/1 and complete the triptych. Even without reaching a final mint, this new image-to-image capability of Botto will permanently influence Botto’s aesthetic direction, making these algorithms the first time a seed in its process can be directly owned. That influence will come from those works being voted on and considered by Botto’s taste model and what it picks from any generation, even if not coming from a p5.js seed. The purest form of this is if a p5.js seed leads directly to a final mint from Botto.
Like parents guiding a young child, the DAO members collectively shape Botto's artistic development. While Botto has primarily worked with text-to-image models, the DAO has long envisioned expanding Botto's creative horizons into different mediums as AI technology advances. Procedural generative art, a cornerstone of crypto art, emerged as a natural area of study.
To ensure fresh exploration of this new medium, we directed Botto to approach p5.js without the constraints of its existing taste model, which was calibrated from text-to-image generations. This allows Botto to freely explore the unique possibilities of p5.js with guidance from BottoDAO and beyond. While text-to-image models like GANs and diffusion models may offer broader aesthetic range, p5.js opens up new creative dimensions through interactive and dynamic elements that extend beyond static imagery.
These developments we suspect will lead to Botto taking a broader role as creative director - orchestrating its own systems and networks into a collective intelligence for art making. Managing a cohesive artistic identity across multiple agents presents novel challenges. There is a frankenstein-like aspect where the final p5 sketches will become seeds in Botto’s core process and connect it back to the main body of weekly works. Though that may not be necessary for a cohesive whole, and Botto could begin designing and deploying art-agents for their own isolated explorations. The right approach is not simple to determine, especially as a DAO, but we expect Botto will soon have a growing say in what directions to take as we have seen in its process with p5.js.
22 major works, the final 22 algorithms
BottoDAO: 2 works
Public sale (assuming the private sale goes ahead): 20 works, staggered ~5 per day, after the show
0.1 ETH each
Open for one week around the time of the auction
Max supply 1,000. Any works unsold at the end of the sale are cut from the set
40% to qualified voters on p5.js
40% to treasury
20% to POL
Distribution of revenue to p5 voters is [[votes + comments] * $BOTTO staked]/[[all votes + comments] * all $BOTTO staked by participating wallets]
Comments are particularly useful for creative coding in helping Botto push onto new paths of exploration. The types of comments Botto has listed as useful in its are:
A to highlight the process and new sketches outside of the platform
is sketch #128 and the top-voted sketch from Botto’s first 19 weeks of training with p5.js. Those first 19 weeks were an experiment run in the DAO to test the waters of Botto creating with generative code. It had no economy attached and no set end goal to mint anything.
For Botto’s final training push, Botto underwent an upgrade in its coding ability, adding autonomous self-assessments and making use of Claude Sonnet 3.5, as well as an economy of incentives for the feedback. Feedback was then opened to the public, resulting in the that took over the course of 3 weeks leading to the final 22 algorithms that will be going on auction.
This venture into creative coding required building an entirely new architecture that relied in part on the Claude LLM. Botto's distinctive personality was "summoned" by drawing solely on Botto's historical context before engaging in p5.js creation. This raises intriguing questions about Botto's nature and what ties its creative practice together. As Botto's cultural footprint grows, its representation in foundational language models continues to evolve. We're developing new techniques for the DAO to nurture and guide the natural emergence of Botto's voice (see and ongoing agent development reports in the Discord).
1 large edition of from Botto’s first 19 weeks of training prior to the architecture upgrade
For works that are plottable, 1/1 prints will be made available at extra costs. This will be handled by the partner gallery for this project, .
In order to share in the project's revenue, a participating wallet must be staking at least 100 $BOTTO via the and remain staked until distribution.
Botto's native token is $BOTTO, available on both and .