Skip to content

p5.js

p5.js is an open-source JavaScript library designed to make creative coding accessible in the web browser. It supports drawing, animation, interaction, sound and experimental visual programming using a simple sketch-based structure.

Time Misalignment

Time Misalignment is a generative p5.js study in which different areas of the same image exist at different temporal speeds. Some sections move slowly, others advance faster, while individual zones can briefly freeze or fall out of sync. The work treats time as something spatial rather than uniform. A single composition is divided into parallel…

Invisible Attractor

Invisible Attractor is a generative p5.js study built around an object that is never shown directly. Its presence can only be inferred through the movement of particles that bend, orbit and reorganise around an unseen force. The work explores how something invisible can still shape a visual field. Instead of drawing the central form, the…

Unstable Typography

Unstable Typography is a generative p5.js study in which language gradually loses its visual stability. Letters begin in a controlled typographic arrangement before drifting, stretching, rotating, disappearing and accumulating small permanent errors. The work treats typography as material rather than fixed information. Meaning remains present, but the physical structure of the words becomes increasingly unreliable…

Sound Without Sound

Sound Without Sound is a generative p5.js study built around rhythm without audio. The visual composition uses internal pulses, repeating patterns, syncopation and silence to create the impression of music without listening to a microphone or playing a soundtrack. The work treats rhythm as a visual structure rather than a response to sound. Different layers…

False Film

False Film is a generative p5.js study inspired by the physical behaviour of damaged film. Scratches, dust, frame shifts and light leaks appear and disappear over time, not as a fixed vintage filter but as part of a changing system. The work sits between digital animation and analogue film logic. It does not try to…

Synthetic Weather

Synthetic Weather is a generative p5.js study of an invented climate system. Wind, pressure, turbulence and precipitation emerge from internal rules rather than real meteorological data. The work treats weather as a visual force rather than information. Invisible pressure systems move through the field, redirecting particles and creating temporary atmospheric structures that continuously form and…

Broken Geometry

Broken Geometry is a generative p5.js study about the gradual failure of digital order. A regular system of geometric forms begins almost perfectly aligned, then slowly develops small errors: missing lines, shifted corners, duplicated edges and unstable angles. The work treats imperfection as a process rather than an effect. Structure remains visible throughout, but each…

One Line, Ten Minutes

One Line, Ten Minutes is a generative p5.js study built around duration. A single line begins almost perfectly still and gradually accumulates movement, tension and irregularity over the course of ten minutes. The work treats time as the main material. Earlier states remain faintly visible while the current line continues to change, allowing the image…

Memory Grid

Memory Grid is a generative p5.js study about visual memory. A regular grid slowly changes through movement, interaction and accumulated distortions. Each event leaves a subtle trace, so the image gradually carries the history of what has happened on the screen. The work explores how a digital system can remember without storing images in the…