Hack Club Workshops

Learn to code with this collection of community-contributed, self-guided coding tutorials + ideas.

Our Philosophy »

Start here

Set out on your journey by building your own website, then move on to multiplayer games and collaborative web apps.

Personal Website

Make your first website from scratch
Personal Website demo

Splatter Paint

Crazy colorful splatter paint in your browser with Paper.js
Splatter Paint demo

Colorful Grammar

Let your words color the screen
Colorful Grammar demo

Speak Colors

Color your screen with your voice via speech recognition.
Speak Colors demo

Sound Galaxy

Visualize sound by making particles move in a galaxy
Sound Galaxy demo

Teachable Machine

Easily get started with machine learning—no coding required
Teachable Machine demo

Web development

Learn how to make things happen on the web, from basic JavaScript to web APIs

Find Bigfoot

Simple game to find Bigfoot using HTML, CSS and JS
Find Bigfoot demo

Synth

Let’s make a synth pad with Tone.js
Synth demo

Dashboard

Personal dashboard with news and weather
Dashboard demo

Tunes on JS

Make a piano for your web browser with Tone.js
Tunes on JS demo

Geometric Pattern

Generate geometric patterns using p5.js
Geometric Pattern demo

JavaScript Clock

Build a clock using HTML, CSS, & JavaScript
JavaScript Clock demo

Sketch Together

Real-time collaborative drawing pad using p5.js
Sketch Together demo

Tree Machine

Generate virtual trees with p5
Tree Machine demo

Stopwatch

Build a simple stopwatch with HTML, CSS, & JavaScript
Stopwatch demo

Konami Code

Add a fun Easter Egg to your website with JavaScript
Konami Code demo

Animated 3D Models

Make animated 3D models using a simple JavaScript library
Animated 3D Models demo

Julia Fractals

Draw some fractals with math.js and HTML Canvas
Julia Fractals demo

Particle Physics

Creating a basic particle physics simulation and rendering using p5.js
Particle Physics demo

JavaScript Typing Test

A Typing Test website built with HTML, CSS, and JavaScript
JavaScript Typing Test demo

WikiBot

Build a WhatsApp bot with Twilio APIs, in 30 minutes 🕐
WikiBot demo

Hack IDE

Make an IDE with HTML, Javascript and CSS!
Hack IDE demo

Deploying Websites

Deploying, hosting, using continuous deployment, custom domains and more
Deploying Websites demo

Web Login

Build a secure web login page using Firebase & JavaScript
Web Login demo

Rebar

Build a fully responsive navbar for your websites.
Rebar demo

Tic Tac Toe

Make the Classic Tic Tac Toe Game in Python
Tic Tac Toe demo

Parallax Effect

Creating greater user experience on web using JavaScript
Parallax Effect demo

Serverless Contact Form

Make a website “contact me” form using Netlify serverless functions
Serverless Contact Form demo

JavaScript Snake

A snake game made with HTML, CSS, and JavaScript!
JavaScript Snake demo

Weather App

Making a Weather App using HTML, CSS and JavaScript
Weather App demo

Speech Recognition

Create a speech recognition app with JavaScript
Speech Recognition demo

Web Chat

Make a personal chat server for you and your friends with WebSockets and Deno
Web Chat demo

Spin The Wheel

Build a random picker spinning wheel using HTML, CSS, and JavaScript
Spin The Wheel demo

Custom Link Shortener

Build your own custom link shortener to save time remembering links.
Custom Link Shortener demo

Image Editor

Make your own image editor
Image Editor demo

VR World

Create your own VR World
VR World demo

Password Generator

Build a password generator tool with HTML, CSS, and JavaScript
Password Generator demo

Drum Pad

Creating a Drum Pad with HTML, CSS & JS
Drum Pad demo

Weather Grapher

Graph the average temperature in any major city by using a Web API
Weather Grapher demo

Pixel Art Pad

Build a pixel art pad using HTML and Java
Pixel Art Pad demo

EchoAR Models

Displaying EchoAR Models that you can see in Augmented Reality
EchoAR Models demo

Charts with Chart.js

Use a JavaScript library to make cool charts!
Charts with Chart.js demo

Kahoot Clone — Kuizzy

Make a Kahoot clone with SweetAlert, WebSockets, and Node.js
Kahoot Clone — Kuizzy demo

Painting App

Create an MSPaint-style painting app on the web!
Painting App demo

Website Mockup Generator

Build a website mockup generator with HTML, CSS, and JS
Website Mockup Generator demo

Meme Generator

Create your own meme generator with HTML, CSS, and JavaScript!
Meme Generator demo

Python

Learn to use one of the most powerful and beginner-friendly languages.

Twitter Automation

Automate Everything from twitter login to posting a tweet!

Vigenere Cipher

Make a cryptographic cipher with python

Password cracker with Python!

Learn how to create a password cracker with Python!

Robotic Emails

Build a mass-emailer with easy templating in Python

Python Turtle

Draw shapes & patterns using Python’s Turtle library

PyChristmas

Make Christmas greetings with Turtle graphics in Python

Stock Visualizer in Python

Make a stock visualizer in Python and learn how to use web requests

Python Data Viz

Use python to create basic graphs and visualizations with real data

KanyeRest Quote Generator

Make a quote generator with Flask

Snake Game

The classic snake game recreated in Python

Pokedex with Python

Create a Pokemon Simulator with Python

Fibonacci Graph Generator

Build a Fibonacci Graph Generator with Python!

3D Mountain

Create a 3D mountain with Python data viz tools

Rock Paper Scissors

Make a simple rock paper scissors game using Python

Drawing Shapes with Turtle

Make a shape drawing program with Python Turtle!

Space Bar Games

Make two games where you press the space bar as fast as possible!

Flask Login

Make a Flask API that allows you to register and log in users.

Dungeon Crawler Overworld

Create your dungeon crawler overworld with Python!

Dice Rolling

Create a dice rolling simulator with Python and turtle!

Password Generation with Python

Learn about cybersecurity by making a password generator in Python!

Reading the Internet

Use Python to read HTML and extract any information you can find!

Smart Calculator

Build a human-like calculator that responds to text prompts using Python

Scalable Snowman

Create your own scalable snowman using Python Turtle!

Games

Learn to build games, both locally and on the web!

Dodge

Bullet-dodging game using p5.js

Platformer

Simple side-scrolling platformer game

PICO-8 Maze

A "scary maze" game built on the PICO-8

Memory Game

Create your own memory game using JavaScript

Orpheus Run

Create an endless running game with just HTML, CSS and some JavaScript!

Atari Breakout

Build the classic Atari Breakout game using p5.js

ASCII Hangman

Make a simple hangman game using Java

Text Adventure Game in Rust

Make a text adventure game while writing your first Rust program!

Making games with KABOOM!

Learn how to use the Javascript-based game development framework by making a Platformer game

React

Learn to use one of the most popular JavaScript frameworks out there.

Starting with Next.js

Intro to React & Next.js with a shopping list website

Dice Game

Learn react-native by making a cool Dice game.

Mini Calendar

Build a simple mini calendar with ReactJS.

Quotes Generator

Build a random quotes generator with ReactJS

Fetch a Hack Clubber

Learn data-fetching with Next.js and meet someone new!

Simple Calculator

Build a simple calculator with ReactJS

Populous Cities

Create a map of 50 most populous cities using React Leaflet

Clicker Game

Build your own clicker game using React!

Todo App

Create a full-stack To-do App using React and Firebase

Color Scheme Generator

Create color schemes using React Hooks

Chrome Extensions

Extend the functionality of the world's most popular browser.

Build a Chrome extension!

Hack your way to productivity by building your own bookmarking Chrome extension

BitEx

Build a simple chrome extension which tracks Bitcoin prices.

Chat bots

Make all sorts of bots for popular platforms such as Discord & Slack.

Hello Bot

A Discord bot with a simple "Hello World!" command.

Pyramid Bot

Build a Discord bot that makes pyramids!

Slack Todo List

Make a todo list Slack bot with Node.js and Bolt

Discord poll bot in Rust

Make a Discord polling bot in Rust using the Serenity library

Automating your Slack Profile Picture

Make a program that changes your Slack profile picture based on the time of day.

Discord Custom Message Bot

Save your own own custom messages with a Discord Bot!

Machine Learning

Learn how to make machines learn with these fun projects!

Teachable Machine

Easily get started with machine learning—no coding required

Feature Extractor

Build your first ML app, with just a little JavaScript

Handwriting Recognition

An introduction to machine learning with TensorFlow and Keras

Node & Deno: JavaScript runtimes

Running JS outside of the web can be a lot of fun.

CLI App

Craft your own CLI App using Node.js

Web Scraper

Build a simple web scraping application with Typescript, Axios, and Cheerio

JsonDB

Create your own persistent database with JavaScript!

Hack Club CDN Uploader

Make a Library and CLI to upload to the Hack Club CDN

Publish Your First npm Package

Learn how to create an npm package and then publish it!

Hardware

Bring projects from cyberspace to the real world with Arduinos and more.

Blink

Blink an LED with Arduino

Temperature Monitor

Build a temperature monitor with Arduino

IOT with Arduino

Control your arduino from a website with the help of Node js.

Meme Songs with Arduino

Building an online Arduino application that plays the Coffin Dance

micro:bit Flappy Bird

Create a basic Flappy Bird Game using BBC micro:bit

Electronic Die

Create an electronic die using a seven segment LED display

Line Following Robot

Make your very own Line Following Robot

C#

Learn all about C#, a language that can be used for almost anything.

Craps Simulator

Enter a parallel universe where gambling is legal and make a gambling simulator in C#

Dialogue Tree

Create your own dialogue tree system with C#!

Battleship

Create a Battleship guessing game with C#!

Mad Libs

Make a Mad Libs program in C#!

Adventures of Hack Island!

Help Orpheus and the people of Hack Island! Learn about cybersecurity while completing an adventure in this experimental new workshop series.

Help Orpheus!

Supercop Orpheus needs help to save Hack Island! and you are the one who can help them.

Save the Hack Club Bank!

Badlo is back and this time the target is the Hack Club Bank. no money = no bounty! save the bank!

Functional Programming with JavaScript

Learn the functional programming paradigm in JavaScript with this experimental new series.

Functional Programming with JS (Part 1)

Learn the basics of functional programming with JS!

Functional Programming with JS (Part 2)

Understand Currying in Functional Programming with Ramda!

Functional Programming with JS (Part 3)

Learn how to deal with arrays in Functional Programming with Ramda!

Miscellaneous

Workshops not properly categorized yet.

Personal Website 2

The personal website workshop, slide-deck style

Hacking Kahoot

A learning activity focused around the Kahoot API

API Canvas

Make a web API that wreaks havoc on your website

Minecraft Mod

Make your first Minecraft mod using Forge and IntelliJ IDEA

Shared Clipboard

Sync clipboards across devices using Go

Amazing Scrapbook CSS

Customize your Scrapbook through simple CSS

Your First Ship

Quick workshop for club members to ship their first hack!