School of machines, making & make–believe

What are chatbots and artbots? How do we distinguish bot behaviours from artificial intelligence? Can machine learning for the web enhance future bot experiences?

  • / 1. July - 26. July 2019

  • / four weeks, full-time in Berlin, Germany

  • / Up to 18 participants accepted

  • / Based in ACUD MACHT NEU


Bots can be understood as internet-based software applications imbued with character and persona – what Donna Haraway would describe as “materialised figurations.” Bots often follow and reinforce figurations of the humanlike, conversational, assistive and servient. We are exposed to bots daily, whether in customer service chat windows or ubiquitous and opinionated anonymous social media accounts.

Machine learning (ML) is a branch of artificial intelligence concerned with the design of data-driven programs that autonomously demonstrate intelligent behavior in a variety of domains. ML systems are all around us. When you deposit a check, scan your fingerprint, or post a picture on social media, autonomous algorithms are deployed on the spot to sift through and make sense of your constant interactions with technology.

As computational technologies advance, bots are often mischaracterized as agents with ML, making it hard to distinguish between programmed devices and artificial intelligence. Together, we will learn about bots and ML, understand their differences and explore ways in which ML can transform bots. By integrating these separate components into a common creation, we can repurpose these tools and harness their capabilities for creative expression and empowerment.

Course Description

Libraries like TensorFlow.js and ml5.js unlocked new opportunities for interactive machine learning projects in the browser. The goal of this class is to learn and understand common machine learning techniques and apply them to generate creative outputs in the browser.

In the first week, we’ll get started developing characterisations and roles for bots and immediately begin prototyping them. We’ll explore and invent new figurations for bots, and implement these using bot development tools. Following this, more complex bot architectures can be sketched out, speculatively drawing upon a broader range of APIs and software modules in mashup configurations.

In following weeks, we will focus on learning and understanding common ML techniques and applying them to generate creative outputs within the browser. We will start with running models in the browser using high-level APIs from ml5.js and exploring the Layer APIs from TensorFlow.js to create models using custom data. Libraries like TensorFlow.js and ml5.js will be used to unlock new opportunities for interactive ML projects.

In the final week, combining what we’ve learned, students will continue developing projects as well as collaborate together to integrate their ideas into a group project, with the instructors taking the opportunity to investigate deeper into any special topics the students wish to explore.


  • Artist / Student (Full Time)*

  • Women and persons from LGBTQ+ and other under-represented communities in the tech field highly encouraged to apply!

    *Includes in-class materials, use of space, and professional mentorship

In this course, you will learn

- Critical and conceptual development of projects*
- History of bots on the web*
- Difference between chatbots and artbots and how to create them*
- Libraries like TensorFlow.js, ml5.js, p5.js for creating web-based ML projects*
- Runway ML, Style transfer, Pix2pix and other up-to-date ML practices possible in the browser*
- An amazing network and community of like-minded creative beings and potential future collaborators
- *No previous experience necessary

Course Outline

Week 1:Introduction to Machine Learning, chatBots and artBots

Week 2: ml5.js, KNN image classifier, poseNet, Style Transfer and Pix2pix

Week 3: RunwayML, Sketch RNN, Doodle Classifier, tf.js, create our own Neural Network from scratch.

Week 4:Project development, group work, and special topics, preparing for final showcase open to the public.

Who is this program for?

This course is for anyone who is interested in building creative bots and machine learning projects in the browser and programming beginners who would like to learn more about these topics. This class aims to make bots and ML more approachable for a broad audience of artists, designers, creative coders, and programming beginners.

For each model or technique, we will learn how they work, how to use them and how to train our own models. The class will balance its focus between building and understanding how bots and ML works behind the scenes.

Some familiarity with the basic concepts of programming is helpful but is not necessary. We will use ml5 in the class, which is inspired by more user-friendly programming tools such as processing and p5.js.

Shiv Integer randomly selects 3D printable objects available on a website, assembles them into sculptures and posts them back online. A collaboration between Matthew Plummer Fernandez and Julien Deswaef.



  • Yining Shi /

    Yining Shi is an artist and researcher who is interested in building tools to craft a better learning experience for people. She is creator of p5.playground, an interactive programming tool for designers and beginners to understand drawing functions in p5.js, and the author of the book: Make: Jumpstarting the Arduino 101.

    She is also an adjunct professor at Interactive Telecommunications Program (ITP) at NYU, where she teaches Machine Learning for the Web class. She contributes to various open source projects like ml5.js, p5 web editor, and p5.ble.js. Her work has been sponsored by Google and the Processing Foundation. She currently works at Sourcemap as a Senior Software Developer. Her work can be found at

  • Matthew Plummer Fernandez

    Matthew Plummer Fernandez is a British/Colombian artist that creates sculpture, software, online interventions, and installations, often in connection, producing and reflecting on contemporary social and computational entanglements and configurations.

    Matthew received an MA from the Royal College of Art, 2009 and is completing a practice-based doctorate at Goldsmiths, University of London. He runs the popular blog Algopop on algorithms in every day life.

    His work has been presented extensively, including solo shows at iMal in collaboration with JODI, and Nome Gallery in Berlin. His works have been acquired by the Pompidou in Paris, and commissioned by the V&A in London, and AND Festival, Manchester. He is currently represented by Nome Gallery and is an invited resident at Somerset House Studios.