a secret dino!print kc
Hack Clubbers gather in the great outdoors of Cabot, VT, for an experience unlike any other: Outernet. 📸 Photo by Matt Gleich, Hack Clubber in NH!

This summer is yours for the making! Get free Flipper Zeros, Framework Laptops, 3D Printers, and more. Join Summer of Making! Jun 16 - Aug 31.

Welcome to Hack Club

We are 81,179 teen hackers
from around the world who code together

Join SlackSign Up: Private Island Hackathon

Hackers at Outernet in Vermont

Discover the joy of code, together.

Every day, thousands of Hack Clubbers gather online and in-person to make things with code. Whether you're a beginner programmer or have years of experience, there's a place for you at Hack Club. Read about our hacker ethic.

Hack Clubbers at SpaceX HQ in LA
Hack Clubbers at SpaceX HQ in LA
Hack Clubbers at SpaceX HQ in LA
Hack Clubbers at SpaceX HQ in LA
Map of Hack Clubs around the world
Map of Hack Clubs around the world
  • Connect with other teenage codersHave a coding question? Looking for project feedback? You'll find hundreds of fabulous people to talk to in our global Slack (like Discord), active at all hours.

  • Build open source learning toolsWe build large open source projects together (3k+ PRs a year) like this website, a game engine, daily streak system, and more!

  • Gather IRL with other makersMeet other Hack Clubbers in your community to build together at one of the 400+ Hack Clubs and high school hackathons.

Here are a few projects you could get involved in:

Connect with builders from around the world

We gather both online and in-person to share our love of code and make things together!

Scrapyard

Spend 100 hours on one project, spend this summer in San Francisco.

Trail

Pacific Crest Trail
July 12-19

30 Hack Clubbers went on a 7 day hike along the Pacific Crest Trail supplied by only the technical equipment that they built.

Start A Hack Club
Get Pizza for Every Project

GitHub is providing pizza grants to every teen who starts a Hack Club at their school.

Group of teenage hackers enjoying GitHub Hack Club Pizza GrantNewton South HS Hack Club in Boston
Scrapyard

Build stupid stuff, get stupid prizes.

100+ Cities worldwide – March 15-16

Slack AMA

Our Online Community

Coding doesn’t have to be a solitary activity. At Hack Club, we make remarkable things together, and in our Slack you’ll find awesome people to hang out with too. Code together, find your programming community, dream up something wild, or just #lounge.

Occasionally we invite someone we really want to speak to (like Sal Khan, George Hotz, and Lady Ada) and host an AMA with them.

3,014

Currently Online

18,073

Total Channels

94,777

Daily Messages

81,179

Total Members

We build open source games and tools together

In collaboration with engineers on the Hack Club team, Hack Clubbers build learning tools for each other. Get involved with these projects by building something with our tools or contribute to the tools themselves.

Live from GitHubGitHub user avataraskiiartstarred hackclub/riceathonGitHub user avatarits-kronosUpdated my project nameGitHub user avatarmas192starred hackclub/putting-the-you-in-cpuGitHub user avatarmanuthecoderBump concurrently from 8.2.2 to 9.1.2 (#9464) Bumps [concurrently](https://github.com/open-cli-tools/concurrently) from 8.2.2 to 9.1.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/open-cli-tools/concurrently/releases">concurrently's releases</a>.</em></p> <blockquote> <h2>v9.1.2</h2> <h2>What's Changed</h2> <ul> <li>Add ability to have custom logger by <a href="https://github.com/mwood23"><code>@​mwood23</code></a> in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/522">open-cli-tools/concurrently#522</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/mwood23"><code>@​mwood23</code></a> made their first contribution in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/522">open-cli-tools/concurrently#522</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/open-cli-tools/concurrently/compare/v9.1.1...v9.1.2">https://github.com/open-cli-tools/concurrently/compare/v9.1.1...v9.1.2</a></p> <h2>v9.1.1</h2> <h2>What's Changed</h2> <ul> <li>fix: support Deno's JSON with comments configuration by <a href="https://github.com/mahtaran"><code>@​mahtaran</code></a> in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/523">open-cli-tools/concurrently#523</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/open-cli-tools/concurrently/compare/v9.1.0...v9.1.1">https://github.com/open-cli-tools/concurrently/compare/v9.1.0...v9.1.1</a></p> <h2>v9.1.0</h2> <h2>What's Changed</h2> <ul> <li>Remove signal event listeners on finish by <a href="https://github.com/gustavohenke"><code>@​gustavohenke</code></a> in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/512">open-cli-tools/concurrently#512</a></li> <li>Add support for Deno shortcuts and wildcards by <a href="https://github.com/mahtaran"><code>@​mahtaran</code></a> in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/508">open-cli-tools/concurrently#508</a></li> <li>bin: show help when no args are passed by <a href="https://github.com/gustavohenke"><code>@​gustavohenke</code></a> in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/513">open-cli-tools/concurrently#513</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/mahtaran"><code>@​mahtaran</code></a> made their first contribution in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/508">open-cli-tools/concurrently#508</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/open-cli-tools/concurrently/compare/v9.0.1...v9.1.0">https://github.com/open-cli-tools/concurrently/compare/v9.0.1...v9.1.0</a></p> <h2>v9.0.1</h2> <h2>What's Changed</h2> <ul> <li>Don't set up more than 1 abort signal listener by <a href="https://github.com/gustavohenke"><code>@​gustavohenke</code></a> in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/503">open-cli-tools/concurrently#503</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/open-cli-tools/concurrently/compare/v9.0.0...v9.0.1">https://github.com/open-cli-tools/concurrently/compare/v9.0.0...v9.0.1</a></p> <h2>v9.0.0</h2> <h1>💥 Breaking Changes</h1> <ul> <li> <p><strong>Dropped support for Node.js &lt; 18.0.0</strong>. Older Node.js version have reached end-of-life, and certain features require new-ish JS APIs.</p> </li> <li> <p><strong>Pending commands no longer run when <code>--max-processes</code> is set and an interruption/kill signal is sent</strong> - <a href="https://redirect.github.com/open-cli-tools/concurrently/issues/433">#433</a>, <a href="https://redirect.github.com/open-cli-tools/concurrently/issues/452">#452</a>, <a href="https://redirect.github.com/open-cli-tools/concurrently/issues/460">#460</a> Before v9.0.0, pressing <!-- raw HTML omitted -->Ctrl<!-- raw HTML omitted -->+<!-- raw HTML omitted -->C<!-- raw HTML omitted --> when <code>--max-processes</code> is set meant that only those commands would receive it. Once these stopped, the pending commands would start, which in turn meant that another <!-- raw HTML omitted -->Ctrl<!-- raw HTML omitted -->+<!-- raw HTML omitted -->C<!-- raw HTML omitted --> press would be necessary to stop them, and so on. Similar situation applied to combining <code>--max-processes</code> with <code>--kill-others</code>/<code>--kill-others-on-fail</code>.</p> <p>Starting with v9.0.0, this no longer happens, as these flags and/or key presses send a signal to stop the running commands in addition to preventing new commands from running.</p> </li> <li> <p><strong>The <code>concurrently</code> and default exports are now the same</strong> - <a href="https://redirect.github.com/open-cli-tools/concurrently/issues/399">#399</a> It's reasonable to expect that <code>import { concurrently } from 'concurrently'</code> would work the same as <code>import concurrently from 'concurrently'</code>, however this has not been the case. The former used to be an unconfigured version of concurrently, lacking all features that you'd get from the CLI, which was seen as a &quot;footgun&quot;. Both are now the same function.</p> <p>If you'd like to access the unconfigured function, use <code>import { createConcurrently } from 'concurrently'</code> instead.</p> </li> </ul> <h1>✨ New Features</h1> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/open-cli-tools/concurrently/commit/7f3efb201bf39d04da81c2ba43144799748342b6"><code>7f3efb2</code></a> 9.1.2</li> <li><a href="https://github.com/open-cli-tools/concurrently/commit/36eccae46c1ffad8a5739c0c45d7f0199a101c4c"><code>36eccae</code></a> Add ability to have custom logger (<a href="https://redirect.github.com/open-cli-tools/concurrently/issues/522">#522</a>)</li> <li><a href="https://github.com/open-cli-tools/concurrently/commit/6cafc606a3aec81e73e3754b961dafeb49ed6f90"><code>6cafc60</code></a> 9.1.1</li> <li><a href="https://github.com/open-cli-tools/concurrently/commit/80fceda02e57bc5fc7bb76d51d56c3577c8ea51b"><code>80fceda</code></a> fix: support Deno's JSON with comments (<a href="https://redirect.github.com/open-cli-tools/concurrently/issues/523">#523</a>)</li> <li><a href="https://github.com/open-cli-tools/concurrently/commit/8d3f9761bf6269ae9abdd5dbb661314b9980d62d"><code>8d3f976</code></a> docs: fix inconsistencies in passthrough args page</li> <li><a href="https://github.com/open-cli-tools/concurrently/commit/e3a76f70543040ab29eac0a27e7a1f8116f3cfd3"><code>e3a76f7</code></a> 9.1.0</li> <li><a href="https://github.com/open-cli-tools/concurrently/commit/b358954a463b95e5623004f6b175ff6bc4b99988"><code>b358954</code></a> bin: show help when no args are passed (<a href="https://redirect.github.com/open-cli-tools/concurrently/issues/513">#513</a>)</li> <li><a href="https://github.com/open-cli-tools/concurrently/commit/64b7e2a24fa0a15b209c75539bc48370d2a82c18"><code>64b7e2a</code></a> Add support for Deno shortcuts and wildcards (<a href="https://redirect.github.com/open-cli-tools/concurrently/issues/508">#508</a>)</li> <li><a href="https://github.com/open-cli-tools/concurrently/commit/3bcc9c93072efb80409398b6233d1ed599eb2e08"><code>3bcc9c9</code></a> Remove signal event listeners from process on finish (<a href="https://redirect.github.com/open-cli-tools/concurrently/issues/512">#512</a>)</li> <li><a href="https://github.com/open-cli-tools/concurrently/commit/79b3290723c4211e6a873eff297b059c752bd5c4"><code>79b3290</code></a> 9.0.1</li> <li>Additional commits viewable in <a href="https://github.com/open-cli-tools/concurrently/compare/v8.2.2...v9.1.2">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=concurrently&package-manager=npm_and_yarn&previous-version=8.2.2&new-version=9.1.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sam Poder <sampoder@berkeley.edu>

⭐️ 1,002

Sprig

Draw, make music, and craft games in our web-based JavaScript game editor, which has been used by 7k+ makers around the world.

New from the gallery...

bomber

by Paolo08

OnBoard

0 projects built

Circuit boards are magical. You design one, we'll print it. Completely for free! Get a $100 grant to fuel the creation of your dream project with OnBoard.

Blot

Blot is an open source drawing machine and online editor, designed to be a fun and beginner friendly introduction to digital fabrication and generative art.

Sinerider

SineRider is a game about love and graphing, powered by teenage hackers of all kinds: artists, musicians, programmers, storytellers… so if that’s you, come join us! We can always use help keeping everything up to date and running smoothly.

Printed circuit boardSprig console

Join the other 803 teenagers with Sprigs!

Sprig console

Play your own Sprig games on this console, which you can assemble and disassemble. Each kit includes parts needed for getting started with hardware engineering and embedded systems programming.

Sprig console

Workshops

100+ community-contributed, self-guided coding tutorials and ideas. Learn to code by building, one project at a time.

Splatter Paint

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

Particle Physics

Create a particle physics simulation and with p5.js
Particle Physics demo

Find your IRL community.

Thousands of Hack Clubbers organize and participate in hackathons and after school coding clubs.

Summer Creek Hack Club meeting, February 2020

A Network of 400+ Coding Clubs

Join or start a Hack Club and be part of a network of high quality coding clubs where you learn to code entirely through building things.

You can start with no experience and build and ship a project every meeting.

⭐️ 157

A crowd of hackers cheering at Epoch

High School Hackathons

We support the largest network of high school hackathons in the world. From an online community of organizers to free stickers and more!

Upcoming Hackathons

JPEG logo
JPEG
July 5
Submersion logo
Undercity logo
Undercity
July 11
AdventureX 2025 logo
Hack The Land logo
Upcoming Hackathons:
JPEG logo
JPEG
Submersion logo
Submersion
💰 $36,144,477.37 raised

HCB

Become a 501(c)3 nonprofit and join 700+ teams using HCB to run world-class events.

This platform is built and maintained by the Hack Club team.

We've got a lot going on - Let's recap

Find your second home at Hack Club

Join Our Slack

Connect with other technical teenagers on Slack and hack on things together.

Explore Our Open Source Tools

We're currently building a game engine, daily streak system, graphing game, and more!

Start A Club

Build an in-person community of high school hackers, and we're here to help.

Join the newsletter

We'll send you an email no more than once a month, when we work on something cool for you. Check out our previous issues.

Globe with hundreds of Hack Clubs