02 / Experiments

Making Patterns That Refuse to Sit Still

An experiment with lines, repetition, and the strange beauty of getting things slightly out of alignment.

Pen-plotter moiré pattern of overlapping red and blue wavy lines

A while ago, I found myself spending an unreasonable amount of time adjusting the spacing between lines. Not because something was broken.

Because the lines were doing something interesting. For one of my Creative Coding assignments at NYU, I explored Moiré patterns, those optical effects that appear when repetitive lines or shapes overlap at slightly different angles or frequencies.

The individual layers can look surprisingly ordinary. A series of rings. A set of curves. Repeated geometry. But when you place them together, something changes.

New shapes seem to emerge. Areas become darker, patterns ripple, and parts of the composition appear to move even though nothing is actually moving. That illusion became the most interesting part of the experiment.

Designing with interference.

I built the patterns using p5.js, working with repeated forms, transformations, spacing, rotation, and two-color compositions. The process involved adjusting parameters and observing how relatively small changes altered the overall result. Sometimes a tiny shift in rotation created a completely different visual rhythm. At other times, increasing the complexity simply made everything harder to read.

It was a useful reminder that adding more doesn’t always make something more interesting. Eventually, the experiment moved from the screen to a pen plotter.

That changed things again. On the screen, I could preview and regenerate patterns quickly. With the plotter, I had to think about physical lines, ink colors, layering, and what the machine would actually draw. The artwork wasn’t just an image anymore. It was the result of a sequence of physical actions. There was something satisfying about watching a coded instruction become a line on paper.

The interesting part was never complete control.

I could choose the parameters, but I couldn’t always predict exactly how the final overlap would feel. That tension between control and surprise kept me experimenting. It also reminded me of interaction design in an unexpected way.

When we design interfaces, we’re constantly arranging visual relationships, spacing, contrast, repetition, hierarchy, and movement. The difference is that most interfaces aim to reduce ambiguity, while this experiment deliberately played with perception. I enjoyed working on something where the goal wasn’t to help someone complete a task, but to make them look twice.

What I took away.

Creative coding has become a way for me to explore visual ideas without immediately worrying about conventional interface patterns. Sometimes I start with a question about a behavior or a system. Other times, I start with a shape and see what happens when I change one variable. Both approaches encourage experimentation, but they lead to very different outcomes. And occasionally, the most interesting result is the one I wasn’t trying to make. A small reminder to myself: Not every experiment needs to solve a problem. Some are worth making because they reveal a new one.

[05]

KEEP READING

New York subway sign at Times Square listing train lines and an Exit arrow

Next article ↗

03 / Observations

New York Is One Giant Interface

[12]Say hello

Made it this far? Say helloText · 104.

Whether it's a design opportunity, a conversation about research, or just comparing notes on interesting ideas, I'd love to connect.

Local time ● online

--:--:--
Brooklyn, New York.

Version history v26.10

v26.10Portfolio rebuilt as a design file in Framer
© 2026 Tanvi Gera.Brooklyn, New YorkBack to top ↑