Scrap

A revolutionary visual programming editor for all creators

Scrap is an intuitive editor for building interactive projects using block-based programming, inspired by Scratch but with the full power of TypeScript. Start creating, learning, and prototyping faster than ever before!

Main Features

* partial incompatibility

What Makes Scrap Unique?

Scrap is a unique visual programming environment that helps users transition from block-based to text-based coding. It offers a seamless switch between a block editor and a TypeScript code editor, ensuring a smooth learning curve for anyone interested in programming.

Type Safety:

Scrap enforces type safety in both the block and code editors, preventing incompatible connections and invalid code. Most platforms do not teach about types – which is crucial for real-world programming – but Scrap does it right from the start.

Scratch-like blocks:

Many Blockly applications offer block-based programming, but do not use Scratch-like blocks. Scrap uses a Scratch-like block design, making it familiar to millions of users. Scrap still manages to make the blocks more powerful, though. Take a look at this if block, for example:

Native Code:

Unlike other platforms, Scrap compiles your code directly to JavaScript, so your projects can run on any device. You can even export them as standalone HTML files to share with others.

Powered by the VSCode's core:

The code editor is built on an extended version of the Monaco Editor, providing features like TypeScript IntelliSense, syntax highlighting that mirrors block colors, and warnings for block-incompatible code.

Learn by Comparing

Scrap lets you seamlessly switch between block-based programming and TypeScript code. This unique approach helps you understand how visual blocks translate to real code, making programming more accessible and educational for everyone.

Blocks

when clicked pen down 1 10 for i from to move steps i pen up

TypeScript

self.whenFlag(() => {
	self.penDown();
	for (let i = 1; i <= 10; i++) {
		self.move(i);
	}
	self.penUp();
});

Educational Value: By seeing the direct connection between blocks and code, learners quickly grasp programming concepts and syntax. Scrap is perfect for schools, workshops, and self-learners alike!