explore how projects grow and more, just like before
#BringBackRemixTreesA remix tree visualizes the genealogy of Scratch projects. When someone remixes a project, they create a branch in the tree. This tool reconstructs these relationships to show how creativity spreads through the Scratch community.
Scratch removed this feature in mid-October 2025, so this tool brings it back using the official Scratch API.
When you click "Build Tree," the browser sends the Project ID to our backend API. The backend then performs a deep, recursive search on the Scratch API, making tons of requests in a short time, starting from the original project and branching out to all its remixes. This is also part of the reason why it can be slow at times for huge & deep trees.
To keep the process transparent and engage the user, the server uses SSE (Server Sent Events) to stream realtime updates directly to the "console". This way, you can see every project being processed as the tree is built, no matter how large it is!
The backend automatically employs asynchronous fetching to process multiple branches at time same time, making the process a lot faster than if it were done sequentially. (Trust me, you DO NOT wanna make the Appel remix tree synchronously)
The backend is built using Python and FastAPI. It uses the remixtree package on PyPI and runs on a free Render instance, which can sometimes cause issues but is the only really "free" option for me right now. The frontend, meaning this page you are on right now, is hosted on Cloudflare Pages with no limit and can be accessed from anywhere in the world quite fast. All code is open source on GitHub, the subdirectories frontend/backend inside of /web!
If you are familiar with using command-line-interface tools
(CLIs), feel free to use mine:
Check it out here
This provides more insight and looks prettier while being a great
way to learn about the terminal!