← back to portfolio

Generative Visuals & Creative Coding

p5.jsProcessingGenerative Art

Data driven simulations, audio reactive visualizations, and interactive generative art built with Processing, p5.js, and Python for brand events, youth orchestras, and personal exploration.

The problem

Most data visualization is static and forgettable. Most brand experiences are predictable. I kept running into situations where the brief called for something that felt alive, something that responded to its environment or its audience. A youth orchestra needed visuals that moved with the music. Brand events needed interactive installations that felt unique to the moment. And personally, I wanted to explore the space between code and art, where the output surprises even the person who wrote the rules.

The approach

I built a range of generative and interactive visual projects, each with its own technical stack depending on the context.

The outcome

The orchestra visuals ran live during performances and added a dimension that the audience genuinely responded to. The brand installations held people's attention in ways that static displays never could. The audio reactive Python pieces became a personal toolkit I still use when I want to visualize a track or test a new idea. The RAG comic generator proved that generative systems can tell stories, not just make patterns. Across all of these, the common thread was that code became a creative medium, not just an engineering tool.

What I learned

Creative coding taught me that constraints breed invention. When you set up a system with simple rules and let it run, the results are often more interesting than anything you would design by hand. I also learned that performance matters in a completely different way here. A dropped frame during a live performance is not a minor bug. It breaks the illusion. That pressure made me a better programmer. Most importantly, these projects showed me that the line between "technical" and "creative" work is imaginary. The best work lives in both spaces at once.