Snap! Usage Data for Machine Learning


My name is Eric Stein. I am currently working with University of Virginia professors @richnguyen and @glenbull to train a machine learning model that can analyze the actions of beginner programmers and offer suggestions. The language these programmers would use is Snap! Thus, to do so, we would need a way to access the usage data of an instance of Snap! that we have running on our server. Such data would preferably include the following:

  • blocks created/deleted
  • blocks connected
  • blocks clicked

Is there a way to listen for such events or get access to the undo/redo stack on our local Snap! instance, perhaps via the addMessageListenerForAll method for a Snap! IDE?

Thank you.

We have similar goals and have been using iSnap

Here's the Github source:

It is a Snap! version 5 - dev (a bit old) but we've been using it successfully.

It you end up creating some analyse tools you want to share be sure to announce it here


Thanks for the resources. Will do.