Girl building a coding project on a laptop

Project categories

The technology that your project uses will determine what category it belongs in. Find out more about each of the categories below.

Scratch

Scratch is a free block-based visual programming tool that young people can use to easily create a variety of projects, while they also learn about the more advanced world of computer programming. It can be used online in a web browser or you can download it to your computer.

You can see example projects in our Scratch studio!

Please note: This category does not include projects that use Scratch to program hardware elements or electronics, such as robots. Those should be submitted in the Hardware category with an accompanying video — we want to see your projects in action!

The following sets of project end with a final activity that would be a perfect submission to Coolest Projects:

Beginner
Scratch intro
Look after yourself

Intermediate
More Scratch

Advanced
Further scratch
Protect our planet

Games (Non Scratch-based)

This category includes any kind of game made in a programming language other than Scratch. You might use a text-based programming language such as Python, or a game engine (for example, Unity, Unreal Engine, or Blender).

If you need some inspiration and guidance, check out these game-based project tutorials:

Unity intro
Python intro
Game tutorials

Web

Projects in this category are web-based applications on any topic you like, from informative pages to interactive applications. Sites can be built using HTML and CSS, but might also include a web programming language such as JavaScript.

If you need some inspiration, check out these web-based project tutorials:

HTML and CSS intro
HTML and CSS for social enterprise
More HTML and CSS
Further HTML and CSS

Mobile Apps

This category covers projects that involve interactive apps for phones or tablets that help, inform, or entertain people.

You can demonstrate your app on a mobile device, such as a phone or tablet, or you can use a desktop-based emulator. If you need some inspiration, check out these app-based project tutorials:

App Inventor for social innovation
Zombie apocalypse survival map

Hardware

This category includes robots, machines, and hardware hacks. You can create your project using hardware platforms such as Raspberry Pi, Arduino, micro:bit, or Adafruit boards to influence the physical world.

If you don’t have access to physical hardware, you can use an emulator: there's MakeCode for micro:bit and Trinket for the Raspberry Pi Sense HAT. For some inspiration, check out these hardware-based project tutorials:

Physical computing with Scratch and the Raspberry Pi
Intro to micro:bit
Intro to wearable technologies

Advanced Programming

This category is for projects that have been taken to the next technical level. It includes projects written in advanced languages, such as C++ and advanced Python, or projects that combine multiple technologies, APIs, or types of hardware. Here are a few tutorials to get you started on an Advanced Programming project:

Intro to Python
Machine vision