#MLforKids
New #MLforKids worksheet where students create a GenAI-enabled guide to the UK in #Scratch

It is about how tool calling transformed how we use language models. Students create their own simple tools that let the model control Scratch sprites.

machinelearningforkids.co.uk#!/worksheets...
October 26, 2026 at 12:50 PM
I had a look at the server request logs for #MLforKids yesterday and it's probably a sign of my naivety that I was so surprised by the constant level of malicious traffic the site gets.
Why we can't have nice things
Looking at the server request logs for Machine Learning for Kids is a depressing reminder of what it means to run something on the Internet nowadays. I was skimming through the request logs for the M...
dalelane.co.uk
August 9, 2026 at 12:27 PM
#MLforKids now supports tool calling in language model projects

Students create tools using #Scratch code blocks. Tools auto register with the model, and become available for the model to use.

Tools can get info from the Scratch project, control sprites, use Scratch variables as memory, and more
Generative AI with tool calling in Scratch
In this post, I want to share a new feature in the generative AI support in Machine Learning for Kids: tool calling. I wrote last year about how I introduced Generative AI in Machine Learning for Kid...
dalelane.co.uk
July 13, 2026 at 10:49 AM
I've added support for tool calling in #MLforKids language models projects!

Students create tools in #Scratch using normal Scratch code. Tools auto register with the loaded model, and become available for the model to use. Tools can get info from the Scratch project, as well as control sprites
Generative AI with tool calling in Scratch
In this post, I want to share a new feature in the generative AI support in Machine Learning for Kids: tool calling. I wrote last year about how I introduced Generative AI in Machine Learning for Kid...
dalelane.co.uk
July 11, 2026 at 10:40 AM
I'm in Dundee!

That was a ludicrously long journey (I've gone to US cities in less time) but it was a nice chance to relax, read, play some new Switch games, and tinker with a new #MLforKids feature
June 9, 2026 at 6:52 PM
I've been looking at the analytics I get about #MLforKids

A lot of it is what I expected (e.g. Windows is the most common OS) but there were some surreal surprises in there. 13 visitors using a PlayStation?? 😵‍💫
What do people use to access Machine Learning for Kids?
I use Cabin for analytics on Machine Learning for Kids. (If you're not familiar with them, their blog post on how to do analytics in a way that prioritizes user privacy is worth a read - the approach ...
dalelane.co.uk
April 27, 2026 at 1:35 PM
I worked on a bunch of improvements to #MLforKids over Christmas.

Last night, I went back and wrote a rambling stream-of-consciousness post about the thinking that went into one of them (addressing error reports from resource constrained browsers)
Improving support for older computers and mobile devices on Machine Learning for Kids
In this post, I want to share some changes I've been making to how I train models in Machine Learning for Kids. The problem Many of the machine learning models that students create on the site are t...
dalelane.co.uk
January 16, 2026 at 11:14 AM
When I first created a blog (in... ahem... 2006) I posted something every day.

This year, I managed 26 posts - a mixture of Kafka, Flink, MLforKids, & other random bits.

I want to write more regularly next year... still as a random stream of whatever captures my interest
2025 in writing (WordPress)
Looking back over what I've put on dalelane.co.uk this year... I wrote twenty-six posts. Not as many as I'd hoped... I want to try and write a little more in 2026. Machine Learning for Kids Four we...
dalelane.co.uk
December 17, 2025 at 2:29 PM
even with the small selection of language models I have on #MLforKids you can see differences between models for this particular task
October 18, 2025 at 10:18 AM
I've written a new #MLforKids worksheet.

This one gives a taster into LLM benchmarks, by getting students to compare how different language models perform with simple addition questions (eg. "What is 12 + 74?")

machinelearningforkids.co.uk#!/worksheets...
Machine Learning for Kids
An educational tool for teaching kids about machine learning, by letting them train a computer to recognise text, pictures, numbers, or sounds, and make things with it in Scratch.
machinelearningforkids.co.uk
October 18, 2025 at 10:18 AM
Playing with an idea for a possible #MLforKids project. I'm using a language model in #Scratch to repeatedly translate a sentence from English to another language and then back again.

If I do that over and over again, what mistakes are introduced? Is that interesting? Educational?
September 23, 2025 at 8:52 PM
I wrote a new #MLforKids worksheet - based on creating an AI-controlled golf game in #Scratch

Students train a #machinelearning model to predict the best speed and direction to putt the ball.

Full instructions at machinelearningforkids.co.uk/worksheets
September 22, 2025 at 8:20 AM
"RAG-time" is a #MLforKids project that introduces how we use language models to answer questions about recent events.

Adding relevant documents to the context transforms the answers the model can give

Step-by-step instructions to create this in #Scratch at machinelearningforkids.co.uk/worksheets
September 1, 2025 at 1:02 PM
Experimenting with adding support for simple RAG projects in #Scratch to #MLforKids

Without the context, the model hallucinates with very topical or time-sensitive questions.
With it, I get the right answer!
August 28, 2025 at 9:19 PM
Scratch has long been built from many separately developed components. My #MLforKids fork of Scratch includes changes in seven repos.

#Scratch is now (understandably!) migrating to a single mono-repo - so I'm starting to look into migrating my changes.

github.com/scratchfound...
scratch-editor/README.md at develop · scratchfoundation/scratch-editor · GitHub
Scratch editor mono-repo. Contribute to scratchfoundation/scratch-editor development by creating an account on GitHub.
github.com
July 13, 2025 at 4:32 PM
I'm in London for Festival Of Play - a STEM event that uses video games & game dev to motivate and teach kids about computing.

I'll be running AI workshops for primary school kids using #MLforKids (and trying to make it look as fun as video game activities!)

www.eventbrite.co.uk/e/festival-o...
July 1, 2025 at 8:31 AM
I've recorded an explanation of what I was working on for my "vacation" last week - adding generative AI to #MLforKids by introducing language models to #Scratch

As demos go... it... didn't go as planned. But I left the mistakes in, as I figure better that than pretend AI gets everything right!
Exploring Language Models in Scratch with Machine Learning for Kids
YouTube video by Dale Lane
youtu.be
March 1, 2025 at 4:24 PM
Writing a new #MLforKids worksheet based on creating a voice-controlled calculator

Works well when I do it at home by myself in a quiet room, but not sure how it'd work with lots of students doing it at the same time in a noisy classroom. Something to test with a friendly local school, perhaps!
recreating IBM Shoebox in Scratch
YouTube video by Dale Lane
youtu.be
January 8, 2025 at 9:28 PM
Trying out an idea for a new #MLforKids project - recreating an AI project from the 1960's in #Scratch.

"Shoebox" was a voice-recognition calculator - you can learn about it at www.ibm.com/history/voic...

This is my attempt to see if students could recreate it today.
recreating IBM Shoebox in Scratch
YouTube video by Dale Lane
youtu.be
January 7, 2025 at 9:31 PM
Very surprising spike in account creations and logins on #MLforKids on Christmas day - nearly 100,000 visitors!

The site is normally quiet on school holidays... wonder why the bump? Best guess is kids got machinelearningforkids.co.uk/book for Christmas? (unusual, considering it's a few years old)
December 29, 2024 at 5:14 PM
Got lots done on #MLforKids this weekend. And if I've done it right, no-one will notice!

I fixed a few bugs that I've been stuck on for an age, and rebased my fork of #Scratch (which I've been putting off all year because of the major changes they've made to how Scratch is built and packaged)
December 22, 2024 at 11:03 PM
A nice example of the sort of #MLforKids project that this enables is training a classifier to predict whether you will like a book based on a picture of the cover (as it makes super easy to bring lots of new book cover images into #Scratch)
December 19, 2024 at 3:01 PM
Re-reading this old post last night sent me down a rabbit hole, where I discovered the community has moved on from TFDF. It's been superseded by a new library! 🤦

This morning I've been working on migrating to Yggdrasil Decision Forests (helped by some impressively clear migration docs)

#mlforkids
Migrating to YDF - YDF documentation
YDF (short for Yggdrasil Decision Forests) is a library to train, evaluate, interpret, and productionize decision forest models such as Random Forest and Gradient Boosted Decision Trees. YDF is availa...
ydf.readthedocs.io
December 8, 2024 at 12:04 PM
#blog2024revisited I spent my Easter holiday rewriting how #MLforKids creates and uses numbers models, migrating from scikit-learn to #TensorFlow Decision Forests.

In April, I wrote a blog post to walk through how I'm using TFDF, as well as explain the reasons for the rewrite.
How ML for Kids handles numbers models now
I'm on vacation for the Easter holidays this week. Apparently I don't know how vacations work, so I’ve spent a lot of the last six days working on a major rewrite of a big chunk of Machine Learning fo...
dalelane.co.uk
December 7, 2024 at 8:04 PM
I figured out how to get SPICE (pitch estimation ML model) running in TensorFlowJS last night, and was so pleased I ended up writing a new #MLforKids worksheet to show it off!

In "Voice Tuner", you get #Scratch to pick a random note and play it for a few seconds. You need to hum or sing that note.
December 6, 2024 at 9:29 AM