Textile experiment 🧵

by Haneul Lee, posted on December 1, 2025

Who I am

Hello! I’m Haneul Lee from South Korea, a media artist specializing in interactive experiences that bridge the digital and physical worlds. With over a decade of professional experience as a front-end developer, I bring a strong technical foundation to my artistic practice, exploring how code can shape storytelling, behavior, and user interaction.

I am currently pursuing a Master’s in Media Design at HEAD – Genève, where I explore video games, creative coding, interaction design, projection mapping, and 3D development etc.

I like hiking, scuba diving and fondue 🫕

Idea

I have been interested in creative coding, but during a visit to the Anni Albers exhibition at the Paul Klee Museum, I became curious about how textile designers generate such complex patterns. Instead of drawing with intention, they work with material behavior, letting tension, friction, and chance shape the outcome.

This led me to explore what happens when code behaves like fiber. Rather than reproducing textile visuals, I experimented with an interactive design system where digital threads pull, tangle, and diverge according to rules that users can disrupt. The user doesn’t choose a pattern, they interfere with it, like touching a loom in motion. The result is not a simulation of weaving, but an algorithm that acts in the spirit of weaving, generating form through movement, tension, and entanglement.

Process

First of all, I created different kinds of moving patterns in Processing. However, the GIFs below have wave-like animations, and after looking into Anni Albers’ work, I decided to develop patterns that more closely reflect her textile style.

Using a webcam, I created a code that recognizes live images and transforms them into textile-inspired patterns. I also tried to make something where multiple points start from random locations on the screen and move like tangled threads, similar to pictorial weaving. In another experiment, lines rotated at different intervals to form letters, mimicking the interlacing motion of warp and weft. I also produced an animation in which lines from the top, bottom, left, and right move in opposing directions, overlap, and create diverse layered patterns.

The following works are the ones I’m most satisfied with!

Weaving

A digital threadwork where the computer path and a user-controlled path intertwine, creating layered stitched patterns on a grid. As each thread revisits its steps, the colors shift, revealing an emergent woven texture.

Scratch Pattern

Like a scratch paper, it lets people paint moving lines with their mouse, creating new patterns through touch! 

Triangle

This grid-based pattern is composed of randomly oriented triangles that react to the user’s cursor. As the mouse moves, nearby triangles rotate to face it, while subtle color traces remain along the path, leaving a woven-like afterimage on the screen.

A favorite piece of code

This short piece of code uses one of the most common structures in programming: the nested for loop. By repeating two counters (x for columns and y for rows) it fills a two-dimensional array. What seems like a basic loop becomes the foundation for a dynamic grid. 🙂

for (int x = 0; x < tilesX; x++) {
    for (int y = 0; y < tilesY; y++) {
      ...
    }
}

Find me on…