LocoMotion is a live coding language designed specifically for dance and choreography. Instead of generating sound or abstract visuals, it controls 3D avatars in a virtual space, allowing performers to write code that directly produces movement. At its core is the dancer function, which creates an avatar that can be positioned using x, y, and z coordinates. Movement phrases are selected with animation, their speed adjusted with dur, and procedural motion can be generated using functions like osc, which creates continuous oscillation. Because the system updates instantly when code is evaluated, choreography can be composed, modified, and improvised in real time.

Within the wider live coding community, LocoMotion expands the artform into embodied movement. Live coding culture emphasizes transparency, improvisation, and the visibility of code during performance. LocoMotion contributes to this culture by treating code as a choreographed performance or score, positioning programming not as a hidden technical tool, but as an expressive, performative medium that merges computation with dance.

Code

Video Demo

As someone who listens to Afrobeats almost daily, I found this paper surprisingly affirming of things I’ve felt for a long time. The author’s idea that simple, repetitive patterns can carry an entire universe of expression immediately made sense to me, because that is exactly how Afrobeats works on me as a listener. Many songs use minimal harmony or looping rhythms, yet they never feel empty; instead, the groove itself feels alive.

What stood out most was the discussion of microtiming and how tiny shifts in timing can completely change the emotional feel of a rhythm. When I listen to Afrobeats, I’m often responding less to melody and more to how the beat sits—how relaxed, smooth, or slightly off-grid it feels. The paper helped me realize that this “feel” is not accidental but deeply tied to the body, movement, and cultural listening practices. Reading this made me more aware of why Afrobeats feels so natural and immersive to me.

As a computer scientist, I’m most comfortable coding privately and presenting the finished product afterward. We’re trained to show our best selves—clean code, intentional outcomes, and working solutions. Live coding will challenge this trained instinct by making the process public, exposing not only what works but also mistakes, hesitation, and uncertainty.

Watching code evolve in real time turns programming into a way of thinking out loud rather than a finalized performance. The messiness becomes part of the work, making software feel alive and human.

I also wonder how much traditional music theory actually feeds into live coding. While theory may shape the structures in the background, live coding seems driven more by responsiveness and experimentation. It feels less about following musical rules and more about negotiating them in the moment. For me, music theory in live coding functions as something flexible—useful when needed, but never fixed—allowing spontaneity and interaction to take the lead.

The reading from “Live Coding: A User’s Manual” by Alan F. Blackwell and others presents live coding not just as a technical practice, but as a profound cultural and philosophical phenomenon. This perspective invites a deeper exploration of live coding beyond its surface-level description. The reluctance to strictly define live coding, as expressed by David Ogborn, suggests that its essence lies in its fluidity and resistance to rigid categorization. This resistance is not merely a characteristic of live coding; it is a statement about the nature of creativity and interaction in the digital age.

Live coding challenges conventional notions of software development, which is typically seen as a methodical, behind-the-scenes process. By bringing the act of coding into the public sphere, live coding transforms programming into a performative art. This transformation raises questions about the relationship between the coder and the audience, the nature of software as a creative medium, and the role of improvisation in technological practices. The act of coding in real-time, in front of an audience, demystifies the process, making technology more accessible and understandable. It bridges the gap between the enigmatic world of code and the tangible human experience.

Furthermore, the concept of “thinking in public” as a form of live coding is intriguing. It suggests a vulnerability and openness in the creative process, where the coder exposes their thought process, errors, and revisions in real-time. This transparency is a stark contrast to the often opaque nature of software development. It invites the audience to engage with the process of creation, blurring the lines between creator and spectator. The text also touches upon the idea of live coding as a way to “unthink” conventional engineering practices. This notion aligns with Viktor Shklovsky’s concept of defamiliarization, where familiar objects or practices are made strange to enhance perception. In the context of live coding, this means viewing code not just as a tool for building software, but as a medium for artistic expression and exploration. It encourages a reevaluation of the roles of creator and audience, the nature of software as an artistic medium, and the potential for improvisation and spontaneity in technological practices. Live coding is not just about making software live; it’s about bringing life to the process of software creation.