The Coding Train
Creative Tools, Coding Tools, and Developer Platforms with a focus on live implementation and accessibility.
Nutrition Label
This channel offers high-energy, authentic creative coding education where the host writes and debugs code live. Viewers get practical, reproducible demonstrations of AI and graphics libraries like ml5.js and p5.js, with a strong emphasis on the "messy" reality of software development rather than polished, theoretical lectures.
Strengths
- +
- +
- +
Notes
- !Tutorials feature live coding with visible debugging, while roadmap updates naturally offer less technical depth.
- !Videos focus on applying libraries like ml5.js creatively rather than analyzing underlying model architectures.
Rating Breakdown
Breakdown across the key dimensions we rate. Methodology →
Recent Videos

What is Transformers.js?

Coding Challenge 187: Bayes Theorem

Coding Challenge Session: Local Browser Conversational Chatbot (STT, TTS, and more?)

new p5.js 2 functions: textWeight, textContours, textModel

What's next?

How to Load Data with p5.js (2.0)

What's new in p5.js 2!

Upcoming Plans, ML Sampling with softmax and temperature

Introduction to Transformers.js (LIVE RECORDING SESSION ARCHIVE)

p5.js 2.0: loading data with async and await (LIVE RECORDING SESSION ARCHIVE)

Coding TRAIN WRECK: Bayesian Text Classification

Robot Controllers Part 2 with Dr. Christian Hubicki

p5.js 2.0 with Kit Kuksenok

All Aboard (ish)

Coding Challenge 186: Wave Function Collapse
Why this rating
Evidence receipts showing why each dimension is rated the way it is.
“I'm going to go to the index.html file... and I'm going to paste in the link to the beta version.”[03:00] →
Demonstrates the actual workflow of switching library versions in real-time, showing the exact steps required rather than just listing them.
“The draw loop is blocked until setup is finished because we are using async/await in setup.”[03:45] →
Demonstrates deep understanding of the JavaScript event loop and how the library's new architecture interacts with the browser's rendering cycle.
“In p5.js 1.0, preload was this sort of 'magic' function... p5.js 2.0 removes that magic and leans into modern JavaScript syntax.”[05:02] →
Explains the underlying architectural shift (removing library-specific abstraction for standard JS promises) rather than just showing the syntax change.