Mark Lundin


Mark Lundin is a designer, technologist & visual artist who works within the field of interactive & generative design. He creates interactive stories, experiences and installations that explore the emerging role of technology as a means of creative expression.

He's developed award winning work for clients such as Google and M&C Saatchi and has worked on projects exhibited at the V&A and the Science Museum, London.

His studio, a multi-disciplinary design practice & digital production company, was formed with the aim to explore the intersection of art, design and technology. With projects ranging from interactive touch screens, projection mapping, computer vision and 3d printing, it functions as a commericial and professional entity for private projects and commissions.

If you have a project you want to talk about, get in touch.


Cuber is a programmable Rubiks cube built using web technologies. It’s been used for a Google doodle, a physical installation and some amazing online experiments

Arguably the most iconic puzzle of the 20th century, the Rubiks cube has become synonymous with incalculable complexity. It has captured and frustrated generations with it’s seemingly impossible nature, but with over 43 quintillion possible permuatations, it’s easy to understand why.

This year marks 40 years since the invention of the Rubiks Cube, and to celebrate it, I was approached by Google to help develop an interactive cube to feature on the Google home page as a commemorative doodle.

It was one of the most technically ambitious and challenging doodle’s to date. The experience needed to be as analagous as possible to playing a physical cube, but from a technical perspective, it was important to be as wide reaching as possible.

The result is an interactive playable cube where users rotate and twist individual slices in a way similar to a real cube. The cube itself is rendered using CSS which mean it can run on any platform that supports 3D transforms including mobile. Javascript handles the interactive controls and we use three.js for the heavy lifting.

Due to the way the code was built it’s also possible to render the cubes in alternative ways. Below for example, is a stylised render of the cube using WebGL.

##A WebGL renderered cube

Cuber also has a programmable api, which allows for a more broad range of interpretations. You can see some other experiments using the Cuber api at Cube Lab.

##An audio sequencer built using Cuber


Made with some friends at Google