I once spent three days trying to build a real-time video processing system in a tool that was absolutely, fundamentally wrong for the job. It was like trying to bake a cake in a microwave. The result was a buggy, slow, and deeply frustrating mess. On day four, humbled and defeated, I switched to the right tool. I rebuilt the entire system in six hours.
That experience taught me a crucial lesson: your tools don't define your creativity, but the wrong ones can absolutely strangle it.
People ask me all the time what software I use. But what they're really asking is, "How do you turn your ideas into reality?" The answer isn't a single piece of software. It's a workshop—a collection of specialized tools that, when combined, allow you to build almost anything.
So, welcome to my workshop. This isn't a list of every shiny new app out there. This is a brutally honest tour of the battle-tested, coffee-stained, and occasionally infuriating tools I reach for when the deadline is real and the idea is ambitious.
The Digital Sculpture Bench: For Things You Can See
This is where I spend most of my time, shaping light and pixels. The goal here is real-time, responsive, and beautiful visuals.
My Heavy Machinery: TouchDesigner If my workshop had one of those giant, intimidating German milling machines in the corner, it would be TouchDesigner. It’s a node-based visual programming environment that feels like you're plugging digital wires into a GPU's soul.
- When I use it: Live performance visuals, interactive installations, projection mapping. Anything that needs to react to the real world, right now.
- Why I love it: It thinks the way I do—visually. It's built for performance, so it's rock-solid stable.
- The honest truth: The learning curve is a cliff. The interface can feel cryptic. But the power you get once you master it is unparalleled. It's the difference between buying furniture and building your own.
My Handheld Power Tool: Three.js + React Three Fiber When an idea needs to live on the web, this is my go-to. Three.js is the foundational library for 3D in the browser, and React Three Fiber makes it feel intuitive and declarative, like sketching with code.
- When I use it: Web-based interactive art, portfolio pieces, 3D experiences that need to be universally accessible.
- Why I love it: It's just the web. It works everywhere. The community is massive, which means you're never truly stuck.
- The honest truth: You're always at the mercy of browser performance. What runs smoothly on a MacBook Pro might grind to a halt on a less powerful machine. You have to design within those constraints.
My Sketchpad: p5.js Before I build the final sculpture, I need to sketch. p5.js is my digital Moleskine. It's a beautifully simple JavaScript library that makes it incredibly fast to go from a blank canvas to a working visual idea.
- When I use it: Prototyping, generative art experiments, and teaching.
- Why I love it: It has the lowest "time to first pixel" of any tool I know. It encourages play and experimentation.
- The honest truth: It's a sketchpad, not a factory. It's not built for large-scale, high-performance production work, and that's okay. That's not its job.
The Mad Scientist's Lab: For Giving Things a Brain
This is where I experiment with AI and machine learning, teaching the machine to be a creative partner.
My Chemistry Set: Python + PyTorch Python is the lingua franca of AI, and PyTorch is my preferred framework for building and training neural networks. It’s flexible, powerful, and feels more like research and discovery than rigid engineering.
- When I use it: Building custom AI models, analyzing movement data, creating generative systems that learn.
- Why I love it: It's the industry standard for a reason. The documentation is excellent, and it gives you the power to build almost anything you can imagine.
- The honest truth: This is the deep end of the pool. The learning curve is steep, and you'll spend a lot of time wrestling with dependencies and data sets before you get to the "fun" part.
My "Just Add Water" Kit: RunwayML & Hugging Face I don't always need to build a model from scratch. RunwayML provides a beautiful interface for powerful, pre-built AI tools, and Hugging Face is a massive library of models that the community has already trained.
- When I use it: Rapidly testing an idea, client demos, or when I need a state-of-the-art model without spending a month training it myself.
- Why I love them: They democratize AI. They let you stand on the shoulders of giants and get straight to the creative part.
- The honest truth: You sacrifice control for convenience. These are fantastic for prototyping, but for fine-tuned, bespoke results, you'll eventually need to get your hands dirty with Python.
The Stage Manager's Booth: For Everything Else
These are the unsung heroes of the workshop—the tools that organize the chaos, connect everything, and make the actual production possible.
- For Physical Things (Arduino & Raspberry Pi): Arduino is my go-to for reading sensors and controlling simple things like motors and lights. It's cheap, reliable, and indestructible. When I need a full-blown computer in a tiny package to run an installation, I use a Raspberry Pi.
- For Project Management (Notion): My brain lives in Notion. It’s where I plan projects, organize research, and collaborate with clients. It's flexible enough to be a database, a document, and a to-do list all at once.
- For Code & Collaboration (VS Code & GitHub): This is non-negotiable. VS Code is my editor for everything. GitHub is where every single project lives, from the first line of code to the last. Version control isn't optional; it's the professional safety net that lets you experiment without fear.
- For Communication (OSC): Open Sound Control is the secret nervous system of my installations. It's a lightweight, high-speed protocol that lets different pieces of software and hardware talk to each other. TouchDesigner can talk to Ableton Live, which can talk to an Arduino, all in perfect sync.
Don't Buy All the Tools at Once
Looking at this list can be overwhelming. It took me a decade to build this workshop. If you're just starting, please don't try to learn all of this at once.
Let's strip this down to its essence. Here’s your starter kit:
- A Sketchpad: Start with p5.js. It's free, fun, and will teach you the fundamentals of drawing with code.
- A General-Purpose Tool: Learn Python. It's versatile and will open the door to everything from web development to AI.
- A Connection to the Real World: Buy an Arduino starter kit. It's cheap and will teach you how to make your code affect the physical world.
That's it. Master those, and they will tell you what tool you need to learn next.
The goal isn't to have the most impressive workshop. The goal is to build things that matter. The tools are just the means to that end. Find the ones that feel good in your hands, the ones that get out of your way and let you create.
Now, what are you going to build?
