354 words ~ 2-3 mins

Script'17 was all kinds of awesome: Great organization, line up, venue, catering, diverse and welcoming. It was a pleasure to talk to you all and LIVE code something useless before the party. Looking forward to see useless things from you all.

Video, slides & code

You can read the slides or check the result of the LIVE coding session.

Bare in mind that the code is "optimized" for writting time. I had a limited amount of time to write and explain it on stage.

For a faster version, you should check the JS1k 2107 invitation I did using the same techniques.


Script'17 is the first international web developement conference in Linz, Austria and it was success! Kudos to the main organizers, Stefan and Sebastian, and the staff who pulled this off. The whole conference was smooth, engaging and welcoming.

Technical bits

This animation shows some particles following two vectors fields: one at a very low resolution to give the general direction and a second one at a higher and time dependent resolution to bring everchanging twirls to the visuals.

The music uses the Web Audio API and a scriptProcessor to generate a hihat, crash cymbal and a melody using noise and a sawtooth oscillator ( a big word for something % 1 ).

For the render loop, I abused the onaudioprocess event handler of the scriptProcessor to render both the audio and the visuals. This was a shortcut to save time on stage and to show that this is possible. However this meands that the sounds might stutter if the visuals take too long to render.

To give an extra kick to the animation, the canvas is scaled based on a value from the audio buffer and the intensity of the crash cymbal.


The feedback to the talk and LIVE coding session has been incredible. THANK YOU!

If you enjoyed what you saw and would like to have a go yourself at doing useless things, and you should, get yourself a copy of The nature of code and visit JS1k.

Other recent projects

There are many experiments and projects like CODING⬢ART AT SCRIPT'17 to discover other here.

Let's talk

Don't be shy; get in touch by mail, twitter, github, linkedin or pouet if you have any questions, feedback, speaking, workshop or performance opportunity.