• Joey Lee
    Lead developer


Cover image


ml5.js aims to make machine learning approachable for a broad audience of artists, creative coders, and students. The library provides access to machine learning algorithms and models in the browser, building on top of TensorFlow.js.

The library is supported by code examples, tutorials, and sample data sets with an emphasis on ethical computing. Bias in data, stereotypical harms, and responsible crowdsourcing are part of the documentation around data collection and usage.

ml5.js is heavily inspired by Processing and p5.js.

I am currently (2019 - ) the lead developer of ml5.js. I work together with the ml5.js community and Dan Shiffman to add new features to the library, create new examples, maintain the code base, do code reviews, address issues, communicate with contributors, create new releases, and create software and UX design best practices.

A shortlist of contributions are linked here:

  • Designed and developed the ml5.neuralNetwork().
  • Integrated Tensorflow.js's BodyPix for real-time body segmentation.
  • Integrated Face-Api.js for real-time face detection and analysis.
  • Co-lead development and re-design of the ml5.js website.
  • Lead ml5.js through more than 3 releases (so far)
  • The development of ml5.js is happening here on Github