March 14, 2023

Mail Icon

Technicolor 🟦🟪🟥🟧🟨🟩

Author Image

Matthew Stanciu

Technicolor 🟦🟪🟥🟧🟨🟩

My name is Matthew, and I worked for Hack Club HQ between January 2020 and June 2021, as the first gap year student and interim head of clubs. Shortly before I left Hack Club HQ, I wrote a 17,516-word guide to leading the clubs program for Leo, who stepped into my role. This guide extensively detailed my journey as a club leader, painting a vivid picture of my many failures and eventual success, and pulled back the curtain behind the program at Hack Club HQ.

This guide was never intended to be seen by anyone other than Leo, but it eventually found its way to a few other people who, to my surprise, told me it had a deep impact on them. Now far removed from my previous role at Hack Club, I see that the value of this guide reaches much further than I intended—so I'm sharing it with the world, as technicolor. If you lead a Hack Club, or want to learn more about Hack Club's philosophy, or want to read a Hack Clubber's journey, I think you'll find it a useful & inspiring read.

I'm sharing technicolor almost exactly as it was initially written: there are some awkward phrases, most of the information about Hack Club is outdated, and none of the fat is trimmed. All names are fake to protect anonymity unless they work for Hack Club or gave me explicit permission to use their name.


Hi there 👋 this is my attempt at a comprehensive guide for how to lead Hack Club's clubs program. In here, I will cover everything, from my personal Hack Club journey, to all of the different parts of the clubs program and how to think about them, to specific actions that you can take on day one to make the clubs program better.

Although I will do my best to make this a comprehensive guide, in reality I can't cover every part of being a good clubs lead in here. There are many things that you have to just "know", or be able to intuit, and the only way to learn how to do that is by diving in headfirst and trying a bunch of things out for many months until you figure it out. That said, I hope you'll find this a very useful starting point, and I hope it can help in learning how to think about the right things.

Who am I?

My name is Matthew Stanciu. I'm 19 years old. I went to high school in West Lafayette, Indiana, and I led the West Lafayette Hack Club for 2 and a half years. I'm in the Class of 2020, but I graduated high school a semester early in December 2019 and began working for Hack Club HQ in January 2020. I had only intended to work for Hack Club for one semester, but in May 2020, I decided to defer my admission to Purdue University for a year to continue working for Hack Club through the 2020-2021 school year. I'm currently wrapping up my gap year—my last day at Hack Club is June 18th, 2021—and giving myself a summer break before going to college this Fall. Until October 2020, I had been working primarily under the former clubs lead and a little bit on the community. In October 2020, I began leading the clubs program.

TechBug2012

As a kid, I was extraordinarily eccentric, and I've been into computers for my whole life. When I was 10 years old, I started a YouTube channel called TechBug2012. The channel was initially intended for tech tutorials (check out my first video, now unlisted)—but around the same time, I also began playing Animal Jam (imagine Club Penguin, but better), and I pivoted to making Animal Jam music videos. Pretty quickly, I became an Animal Jam celebrity, and in a span of a few months, rocketed to 10,000 subscribers. My most popular music video has over 200k views.

Learning to code / My first major project

In early middle school, I began playing Minecraft, and almost immediately became fascinated with Minecraft servers—especially with Minecraft server plugins. I was a lot more fascinated by server plugins than Minecraft mods, because plugins are run entirely server-side and modify network packets to add incredible functionality to the game, instead of having to install a modded client that you may or may not trust onto your computer. In January 2015, when I was in 7th grade, I started a Minecraft minigame server network called Extrillius. With Extrillius, I wanted to build a "modular" server experience, where nearly every part of your experience could be completely customizable. Do you not enjoy seeing swear words in the chat? You could enable a swear filter that only filtered words for you. Do you want all chat messages to appear in gold? You could toggle that for yourself. Do you want to build your own Parkour maps? You could do that in the Creative server and then "export" it to the Parkour server, where other community members could play on your map. Do you think the server is too crowded? You could make every other player invisible. Do you want to meet new people? You could choose to play a minigame with a randomly-selected party, of a size of your choosing. And on and on. Do you want to write your own plugin, and learn to code? You could use a custom scripting language I designed and program a set of a few custom functions that would be run by a plugin I wrote in your Creative server plot. As a player, you should be able to choose the experience you have on Extrillius, whether there are 10 people on or 10,000 people on with you. I wanted every single plugin to be written by me, custom-written for Extrillius.

The problem with my plan was that I didn't know how to code. For a few months after deciding to start Extrillius, I took Treehouse's Java course. But when I began actually trying to build Java plugins, I found myself completely lost, which frustrated me a lot because I felt like I had wasted my time going through the Treehouse course. Eventually, I decided I would just start writing Minecraft plugins, and learn to code through trial and error as I went. I gave up and started again and gave up and started again multiple times—and after a full year, I finished SwearToggle, my first ever Minecraft plugin, and my first GitHub repository.

Entering high school & discovering Hack Club

Throughout elementary and middle school, my personality was defined by intense eccentricity, largely because I saw any attention as positive attention and didn't care what people thought of me. But as I entered high school, I began to lose the eccentricity that defined my personality throughout elementary and middle school. I developed severe anxiety and began worrying that everyone hated me. I felt like I couldn't stop myself from saying stupid things all the time, and the best way not to stay stupid things was to not say anything at all—so I went silent. At the same time, I began feeling disillusioned with coding: nobody around me knew how to code, despite my best efforts to get my friends interested. The only place I felt I could go to for help was the Bukkit forums, but every time I asked a question there, I got a bunch of toxic responses from 30-year-old "developers" who spent all of their time yelling at kids on the forums for not knowing enough Java. I largely stopped coding, and I also shut down Extrillius.

In February 2017 (during the second semester of my freshman year of high school), I went to my first hackathon: CodeDay Chicago. I made (but didn't finish) a Minecraft minigame plugin, which I also published to my GitHub. About a month later, I got an email from someone at Hack Club asking me if I was interested in starting a coding club at my school.

I applied and had my onboarding call in March 2017. The first year of my club was a total disaster, and I'll talk more about it in the next section. For most of that year, I also wasn't a huge part of Hack Club; I occasionally checked Slack, but for the most part wasn't a "Hack Clubber" yet. I was also still extremely anxious and quiet and had no self-confidence.

Gaining confidence

In March 2018, I discovered a project called Althea, which enables people to (semi) easily start local ISPs in their hometown. I decided to do what was previously unthinkable for me and email the founder of Althea asking how I can get involved—and, to my absolute shock, not only did he reply, but he also took me seriously and offered to get on a call with me to chat about the project and learn a little bit about me. I couldn't believe that someone actually took me seriously as a high schooler! This experience gave me a small boost of self-confidence, enough to apply to run my own CodeDay event in Indianapolis—and, to my amazement once again, the founder of CodeDay actually took me seriously and got on a call with me to help me get started.

Soon after, I decided I wanted to learn how to make websites and Node.js web apps. With my newfound boost of self-confidence, I decided I was going to do it by diving in headfirst and making an RFID card game for a big English project. I struggled for about a month to make it, but I eventually finished it and got 100% on the project. And, of course, the project is still on my GitHub profile.

Meeting Zach

In late June/early July 2018, I traveled to San Francisco to visit some family friends. While I was in the city, Hack Club announced Hack Club Bank. Reading this post was the first eye-opening experience I had with Hack Club. I thought Hack Club Bank was the coolest thing I had ever seen. After reading the post, I DMed Zach on Slack, introducing myself as a club leader who's in town, and asking to have lunch. To my amazement, he agreed to have lunch!

DM to Zach asking to have lunch

And then we had lunch, along with Lachlan, who was building Hack Club Bank at the time, and Yev, a community member who hung out around the San Francisco office all the time for some reason.

meeting up with zach, lachlan, and yev

Hack Chicago

Meeting Zach & some of the team in San Francisco was a magical experience—but what actually got me to fully join the Hack Club community was Hack Chicago. Hack Chicago was a hackathon in Chicago that happened on July 21st, 2018—but unlike CodeDay, Hack Chicago was organized entirely by Hack Clubbers my age. Together, they secured a beautiful venue in downtown Chicago and raised $24,000 for the event. During the event, I met so many Hack Club community members who I had previously seen in Slack as usernames, as well as the rest of the Hack Club team. I was floored that high schoolers my age were capable of raising $24,000 and run an event as incredible as Hack Chicago was. I had been slowly catching on to the idea that I was a lot more capable than I thought throughout 2018, but Hack Chicago was what made me fully realize this, and it marked the beginning of a radical personal transformation from the person I was in 2016 and 2017 to the person I am now.

My transformation

After Hack Chicago, I built an anonymous confessions bot for my school, which blew up and became one of the most popular Instagram accounts at my school for the rest of the year, until someone posted about a school shooting and got the police called to my house, which prompted me to immediately shut it down (the Instagram account is still up, though.). I learned React and made my first personal website. I made close friends in Hack Club and became among the most active members.

In November 2018, I organized my first hackathon: CodeDay Indianapolis. The event was pretty small—we only raised $250 and had about 15 people show up—but it was still the biggest thing I had ever done at the time. Soon after, in January 2019, I joined my friends to organize Hack Pennsylvania, which raised $15,000 and had 110 attendees. Hack Pennsylvania was orders of magnitude larger than anything I had ever done before, and it was a fantastic kickoff to 2019, which to this day remains the year of my most radical personal growth.

Although I was immensely proud of Hack Pennsylvania, it wasn't really my event; it was a friend's event that I helped organize. I wanted to organize my own event. So, soon after, in early February 2019, I began organizing Windy City Hacks. In the meantime, I managed to squeeze in another CodeDay Indianapolis in February 2019, that was twice as big: $500, 20 attendees. The Windy City Hacks organizing team was largely the same, but this time, it was my event: I was the one in charge of managing the team.

In May 2019—3 months later, after many sleepless nights—we had $186 in the bank account and 50 registrations. With only a month before the event, it felt like it wasn't going to happen. But soon after, we got our first major sponsor, who donated $5,000. I changed our fundraising strategy, and we began receiving more and more sponsorship money. I launched a major marketing campaign that involved emailing every teacher at every school within 50 miles of Chicago. I got the CEO of a risk management company very excited about me, and he offered his company's office as a venue. By the time the event happened, on June 22nd, 2019, we raised $14,000 (I raised nearly all of it singlehandedly) and got 300 signups (160 of which attended). The monumental amount of work, combined with the unthinkable turnaround in the last month, and the overall success of the event, makes Windy City Hacks one of the things I'm most proud of having done to this day.

By the time the event had happened, I was a radically different person than I was even at the beginning of 2019: I was no longer shy and quiet; I had gained real, valuable leadership skills; and, most importantly, I finally felt like I had the self-confidence I had always wished to have, and I fully believed that I could do anything.

By the time I graduated high school in December 2019, I had organized 4 hackathons (CodeDay Indianapolis twice, Hack Pennsylvania, and Windy City Hacks); I continued learning to code and building projects I'm proud of; I had figured out how to run a Hack Club I was very proud of; and I felt like an MVP of Hack Club. After my last final exam of high school, I ran home and immediately called Max to ask for a job at Hack Club for the next semester.

I am not the only person with a story like this. In fact, when you start spending some time in the Hack Club community & talking to club leaders, you'll find that most people in Hack Club have a similar story. They're in Hack Club because Hack Club is the only place where they've ever felt truly understood and seen for the people they are on a deep level.

One of the most interesting discoveries I made when I was checking in with club leaders at the end of this school year was that there are dozens of Hack Club leaders who think Hack Club is the best thing that has ever happened to them & that it changed their lives, despite not being active in the community and largely not even having heard from Hack Club at all in the past year. Although there are a thousand ways the clubs program can be better, I think this is a testament to how meaningful Hack Club has been to so many high schoolers, many of whom we barely even know about, simply because it's the only place where those high schoolers have ever felt understood.

But also, right now, there are countless curious and smart high schoolers who don't know about Hack Club, and don't have this force in their lives. They want to do real things in the world, but they have no friends who know how to code & no online community that fully accepts them. They're trying to build their own Extrillius, and they're about to give up because they don't know where to go for help, and everyone they've asked so far hasn't been helpful. They're the kid who sits in the back of the room, who everyone knows is very nice, but also kinda feel bad for them. They feel totally lost, and they probably hate themselves. When I was working on the clubs program, I was building it for me in 2017, who was one of those high schoolers. And when you begin building the clubs program, I think you should also build it for these students. I think you should be building a program that gives the majority of students who pass through it a story similar to mine.

What Hack Clubs look like

What my Hack Club looked like

The first year (2017-2018)

After receiving the email from Harrison asking if I was interested in starting a Hack Club, I was super excited to get started and immediately applied. At the time, Hack Club communicated two things that I felt very frustrated about in hindsight:

  1. On the application, they seemed to imply that you would have a lower chance of getting accepted if you didn't include any coleads on your application.
  2. Although Hack Club was accepting applications on a rolling basis in reality, they communicated that they "have a couple of extra spots for the 2016-2017 school year", and Harrison told me I'd be put on some kind of waitlist if I applied for the 2017-2018 school year.

I was intending to start the in Fall 2017 because my school only allows clubs to be started in the first 2 weeks of each semester and I first heard from Hack Club in March—well after the deadline. I also wanted to lead it alone. But I didn't want to be rejected from Hack Club for not doing the "right" things. I was on the robotics team during my freshman year, so I found two people from my robotics team to start the club with who I enjoyed spending time with: Ethan and Miles. They agreed to start the club with me, and I had the onboarding call with them. I told Hack Club HQ that I was leading my club when they checked in every week during the Spring 2017 semester, but it was a lie every time.

There was already-existing computer science club in my school called ACSL. I briefly joined this club at the beginning of high school, but I found that I really disliked it. Every student had to pay $10 dues to be a part of the club. Meetings ran every Monday for 30 minutes during lunch, and the club executives taught us computer science concepts using C++, classroom-style. At the end of every semester, we were expected to show up to take a test, which would be our club's entry to a national competition. I stopped going to the club pretty quickly, because I was frustrated that I felt like I was going to class and not feeling like I actually learned anything. The club executives also seemed pretty disengaged themselves.

I didn't want my Hack Club to compete with ACSL, so I had a meeting with the four executives of ACSL, during which I pitched Hack Club and proposed adding it as a "branch" of ACSL, which I would lead. They told me that they were actually all seniors and hadn't found a new leader for ACSL, and asked me if I wanted to take over as president of the club. I was like "¯\(ツ)/¯ sure" and they voted me in as president.

I was very excited to start the club for real when Fall 2017 came around. That year, the club was called CAT Club—Computer and Technology Club—and I wanted it to be a club composed of multiple clubs: a 30-minute club that met during lunch and taught classroom-style curriculum; Hack Club, which ran workshops after school; and Zero Robotics, which met on Saturdays and participated in MIT's Zero Robotics program. I even created a Medium blog for the club—check out the first post!

Our first meeting was a "callout" meeting: it wasn't a real meeting, it was just an "interest" meeting. Check out the Google Slides presentation I made for it!

During my first meeting, I created a Google Slides presentation about blockchain technology. This meeting had about 20 people, and the whole thing was just me going through this presentation.

I don't remember what we did after that. There's an unfinished presentation about more blockchain things still in my Google Drive, but nothing after that. We ran one Zero Robotics meeting, but we didn't run any more after that. The after school Hack Club meetings never happened. 3 weeks in, the club became entirely the lunch club, and attendance quickly dropped to 4 people: me, Ethan, Miles, and Blake (a future colead who I will talk more about later). I became incredibly frustrated and discouraged, because I felt like I couldn't do anything meaningful in the 30 minutes we had during lunch, and I stopped planning meetings. For the rest of the year, we didn't do anything during my club meetings. Every Monday, the four of us came out of obligation and just hung out for 30 minutes.

Meanwhile, I was clashing more and more often with Ethan and Miles. The two of them were good friends, but I didn't know them very well outside the robotics team. I began strongly pushing for after-school meetings so that we would have enough time to run Hack Club workshops, or really do anything at all. Ethan and Miles were vehemently against after-school meetings because they thought nobody would come to them. As the school year went on, I started feeling like I wasn't in control of my own club: I had a specific vision for what I wanted things to be, but I had no idea how to execute them, and Ethan and Miles often shut down any ideas I proposed. Miles especially was extremely rude to me. I vividly remember one meeting in October 2017 when I arrived before everyone else and was connecting my laptop to the projector in the classroom, and Miles walked in, and for some reason that I still don't understand, shouted "WHAT THE HELL ARE YOU DOING? WHAT IS WRONG WITH YOU?" I hated coming to my own club every week, because I knew we would do nothing, Ethan and Miles would shut down anything I proposed, and Miles would be very rude to me the entire meeting. I still have no idea what Miles had against me ¯\(ツ)/¯

The best event that happened in my club all year during the 2017-2018 school year was when I brought everyone to CodeDay Chicago in February 2018. I initially wanted to charter a school bus to the event, but that fell through because it needed approval from my club advisor, who didn't end up signing off on it in time for the deadline to make it happen. I convinced my mom to rent a minivan and drive us to Chicago instead. Ethan and Miles didn't go, but Blake did, and I also convinced Xavier (a friend of mine who wasn't in the club) and Jackson (an occasional member of the club who was friends with Ethan and Miles) to go. Jackson found his own team at the event, while Xavier, Blake, and I built an almost-working cryptocurrency from scratch in Python—which I wrote a Medium post about.

In May 2018, as the end of the school year approached, we were required by the club's constitution to vote for leadership positions for the next year. Miles was graduating that year, and Ethan didn't want to continue being a leader for the 2018-2019 school year. Blake wanted to be a leader, but didn't want to be the president of the club. Theoretically, that should mean that I would run unopposed—but when the ballots came in, Ethan, Miles, and Bencourt voted unanimously for Blake to be the president (Blake voted for me). I gave an impromptu speech, during which I told everyone that I totally understood their reasoning, and I'm sorry for failing to be a better leader, but that I was fully committed to doing better next year, I care deeply about the club, and even if they like Blake more, it would be a mistake to vote for him as president because he didn't even want that position. New ballots were cast, and all but one of the votes (probably Miles's) switched to me. Around that time, I wrote CAT Club's final Medium post reflecting on the year. It's really interesting to go back and see how I was thinking about things at the time. I wish every club leader wrote about their journey as a club leader.

The second year (2018-2019)

Fall 2018 was after San Francisco and Hack Chicago. I was in the middle of organizing CodeDay Indianapolis, Anonbot was blowing up and I was becoming popular in my school, and I generally felt much better about myself than during my first year as a club leader. Most importantly, I was a Hack Clubber now: I was making friends on Hack Night, I was one of the most active community members, I was coding every day, and I had recently shipped my first personal website.

The first thing I did that year was officially change the name of my club from CAT Club to Hack Club. I got rid of all of the branches and only ran the club I had always wanted to run in the first place: Hack Club, which meets after school from 3:30 to 4:30 (I actually wanted to run it until 5:00, but my club advisor wasn't free after 4:30 any day). I changed the branding on our Medium page and Facebook group from CAT Club to Hack Club. I never used the Facebook group; I just did it because I knew my previous coleads & the leaders who previously ran ACSL were still in there, and I just wanted to piss them off because I knew they would be against everything I was doing. Fuck them!🖕(I was successful in pissing them off).

Many schools, including mine, have a "club fair" or "club rush" during the first week of school, where every club spends all of lunch standing behind a table with a trifold board, and students come over and sign up to join the club. I am against trifold boards on general principle, so instead I presented a demo that Lachlan, a former club leader & Hack Club HQ employee, made for their club. I don't have the live demo anymore, but check out the demo that another club leader put on his GitHub, which includes some pictures of what his club fair looked like.

I broke school tradition and didn't run a callout meeting. Instead, I invited the school to my first meeting, during which I ran Hack Club's Personal Website workshop. About 20 people showed up, and everyone ended up making their own website by the end.

Blake was one of my coleads at this point, and we got along very well: he is a talented programmer, and he was a fantastic mentor during every meeting. I didn't fully trust Blake to help me organize meetings that year, though. I think it was a combination of me desperately wanting full control over my club after the previous year and Blake not seeming like he was super into it. In any case, I was organizing meetings basically entirely on my own with occasional input from Blake, and Blake was a great mentor day-of.

One thing I really wanted to do that year was run my Hack Club a lot less like a classroom and a lot more like a makerspace, where people could work on whatever they wanted. I only properly "ran" workshops during the first few weeks of my club. Soon after, I told people about the Hack Club Workshops every week, but I didn't run any of them in my club; I just let people do whatever they wanted. I also took that time to work on my own projects. This is more or less what my club ended up being for the entire 2018-2019 school year.

In a strange way, my club during the 2018-2019 school year was kind of similar to my club during the 2017-2018 school year: we didn't actually do very much every week. I think the reason I remember my second year a lot more positively than my first year was because:

  1. I felt like I had a lot more control over the direction of the club, and I got along very well with Blake.
  2. I was running the club after school, like I had always wanted, and (at least theoretically) we were running Hack Club workshops every week.
  3. My club attendance was small, but there were people coming regularly who weren't just execs or friends of execs. I had a steady attendance of about 8 people other than Blake and me.
  4. It was this year that I "converted" my first person. One of my friends joined the club knowing nothing about programming, but became super excited about Hack Club after making his first website, kept coming regularly, and is now going to major in Computer Science in college. "Converting" someone is one of the most satisfying and validating experience you can possibly have as a club leader, and every club leader should have this experience.

Around October 2018, I noticed that my attendance began to slip a little bit. I was generally unhappy with how I had initially marketed my club at the beginning of the school year: outside of my club fair, all I really did was put up a few posters that everyone ignored.

One day, I had an idea: what if I ran a week-long marketing campaign? On day 1, I would put up a poster that had a colorful gradient and just said "Make." in large letters. Every day, I would print a new set of posters with more and more context. On Friday, I would put up the full poster which reveals the whole thing was about Hack Club. This became the "Make Campaign", which I did a writeup of on my GitHub. I made each poster in Apple Preview (a fact I am very proud of), and each one got the entire school talking. Every day, I would overhear multiple conversations where people were trying to guess what the "Make" posters were all about.

The Make campaign wasn't very successful—only two people ended up joining—but it did make my entire school know what Hack Club was, those two people became active members, and it was another thing that significantly increased my self-confidence. So, despite not resulting in the numbers I wanted, I don't think it was a failure. I am so glad I did it, and I hope other club leaders do similar things to market their club.

When the time came to vote on new club leaders at the end of the school year, my club members voted unanimously for me. I also took the opportunity to propose changes to the club constitution that would do away with yearly voting for new club leaders and give myself dictatorial powers over the club. My club members voted unanimously for all of the changes. When I asked them why they were so cool with giving me dictatorial powers over the club, they said "¯\(ツ)/¯ We trust you."

My main takeaway from my second year as a club leader was that I needed to find the right balance between "classroom style" and "completely free makerspace". Although I was a lot happier with my club after my second year, I didn't feel like I was running the best club I possibly could. I did have a steady attendance, but many people just used the opportunity to study for classes; they didn't really know what to do in the club, and they were looking for guidance that I wasn't providing. Also, I found that when people did do workshops and they got stuck, they were afraid to ask me questions, because even though I told them that I was available for questions, I was accidentally communicating the opposite by working on my own projects and looking busy during my meetings, which made people feel like they'd be bothering me by asking questions.

My final ~~year~~ semester (2019-2020)

The second half of 2019 was the period of my life during which I felt immortal. I had just finished running Windy City Hacks, which remains the largest-scale project of its kind that I've ever done; I felt like a superstar in the Hack Club community; I had learned so much about how to lead a team; and I fully embraced my weirdness & developed a strong sense of identity, much of which is still present today.

I started the first day of school with the Tap the Blob campaign. The website isn't up anymore, but essentially it was just a website with a red blob and a live-updating count of all of the people who had ever clicked it. When a milestone was hit (1,000, 10,000, etc.) I'd give the person who reached that milestone a prize that I bought using Windy City Hacks's remaining money.

The Tap the Blob campaign was a total failure, in my opinion. I spent a lot of time building it, and none of the people who "won" ever came to Hack Club. This was also my demo during the club rush, and it garnered a lot less attention than I thought it would—much less than the Twilio demo from 2018.

Luckily, I still had time before my first meeting—so I used Figma for the first time and designed some colorful posters and info slips. Instead of putting the posters in the required spots throughout the school, I took a big risk and did something I knew I wasn't allowed to do: put the posters on the ceilings.

I also cut up the info slips and handed them out to people before school & during lunch with a quick elevator pitch that went something like "Hey! I'm Matthew, and I lead Hack Club. Our first meeting is tomorrow, and I'd love to see you there. You're going to build your first website. I know coding probably isn't your thing, but I'd love to have you there anyway! There will be cupcakes & good music & it'll be a lot of fun."

About 25 people showed up to my first meeting. Nearly everyone who came was there because they really enjoyed the positive interaction they had with me when I handed out the info slips, or they were very intrigued by the posters on the ceilings and wanted to see what's up. Every single person ended the meeting with a website online.

That year, I decided my club would focus almost entirely on beginners. There were plenty of people who knew how to code in my school, and although I eventually wanted my club to get to a point where it was just as good for beginners as it was for more advanced people, I decided the more pressing issue was that the only exposure to computer science in my school other than my club as AP Computer Science A and AP Computer Science Principles—two classes that did more to scare people away from coding & see it as a scary thing for smart people than it did in actually teaching high schoolers to code—and I wanted to create a fun, inclusive space in my high school where people could go to explore coding.

In early September, I decided to do another crazy thing: use the stickers I got from Hack Club to create a cape made out of stickers. There were two holes at the top where I put an iPhone cable to tie around my neck. Every Wednesday, I wore this cape to school, never taking it off unless absolutely required (which I usually wasn't), and handing out candy.

me with sticker cape

I also tweeted about it.

The sticker cape is one of the things I'm most proud of as a club leader. If the Make campaign made everyone at my school know about Hack Club for a little bit and then forget, the sticker cape made sure they would never forget. Anyone can ignore a poster—even if it's on the ceiling—but nobody could ignore me running around the school shamelessly wearing a sticker cape and handing out fruit roll-ups, gushers, or whatever other candy I felt like buying with Windy City Hacks's money. On top of being known for being eccentric and weird, I also became known as the "Hack Club kid" in my school. You know, that one kid who won't shut up about Hack Club and also runs around the school wearing a sticker cape and giving people free candy. EVERY SCHOOL NEEDS A HACK CLUB KID.

My sticker cape made it into the yearbook, which I am very proud of.

The sticker cape reminded people every week that Hack Club exists and they're missing out on a party every week if they don't go. Throughout the semester, lots of people popped in and out for a meeting or two and had a lot of fun. The debate team came by and stole our pizza one day (we let them). Pretty soon, I converted my second person: Lila, someone who I had known for a while and who was taking Calculus with me. Her first Hack Club meeting was the one where I ran what would I would later turn into the Teachable Machine workshop. I will never forget the utter fascination she had as she trained and perfected ML model after ML model after ML model in Teachable Machine. She didn't come every week, but continued coming fairly regularly.

Despite the enormous success of my marketing campaigns in 2019, by October I still felt like I wasn't running a club I was totally proud of. The club felt too similar to my second year, where I was giving people workshops and letting them do it on their own. I was providing a lot more support to people, but it still felt like the club wasn't very exciting for most people.

One day, I walked into the room and saw that only 4 people were there. I scrapped the workshop I had planned for the meeting, took my shoes off, sat on a table, and told those 4 people the story of Anonbot, the anonymous confessions Instagram bot for my school that rocketed to popularity before getting the police called to my house after someone made a series of confessions that implied there would be a school shooting. Everyone in my school knew that Anonbot had shut down, the police had gotten involved, and I was somehow involved—but nobody knew any details. That meeting was, weirdly, one of my best meetings, because I took a break from the routine of running a Hack Club workshop every week and did something fresh and engaging.

That Friday, I asked Blake and Jade (another friend of mine who I brought on as a colead at the beginning of the school year) to have dinner at a Thai restaurant downtown. Over dinner, I told them that running a Hack Club Workshop every week wasn't working, and I wanted us to start writing our own workshops every week for Hack Club. I added that I had been trying to organize meetings myself despite having the two of them as coleads, and I wanted that to change, if they were okay with stepping up a little bit. They were both okay with it. From then on until I graduated high school, the three of us met over Zoom every Friday with the goal of deciding on a topic for the next workshop by the end of the meeting. Between Friday and Wednesday, I would make a demo, Blake would make 3 or 4 hacks of it, I would write a workshop in Notion, and Blake and Jade would revise it. Day-of, I would run the workshop, Blake would be the main mentor who runs around asking club members if they need help, and Jade would make it super fun by helping me run the workshop, playing good music, chatting with club members, and doing some mentoring of her own.

Almost immediately, it became 3x easier to run my club, because we had literally 3x the capacity. Previously, I didn't fully trust Blake or Jade to help me organize meetings—but it turned out that I just needed to provide leadership and delegate specific, focused tasks. My club meetings also felt a lot better, because instead of running hour-long Hack Club Workshops that people got stuck in and couldn't finish by the end of the meeting, they explored a super fun creative coding topic in 20-25 minutes, and spent the rest of the meeting making their own fun hacks of it.

Remember Hack Club's Teachable Machine workshop? Here's the original one I wrote for my club.

You know Hack Club's Splatter Paint workshop? Here's the original one I wrote for my club.

Here's the full Notion page for my club's mini-workshops, if you're interested.

For the last meeting of 2019, Jade and I drove to a Mexican bakery at 7am and bought a Tres Leches cake for the Hack Club meeting. During the meeting, we all ate the cake, listened to Christmas music, and drew dinos with the newly-made Draw Dino Workshop.

I graduated high school having finally felt like I "figured out" how to run a Hack Club, after 2 years of trial and (lots of) error.

What other Hack Clubs look like

Although many of the issues I ran into as a club leader are issues that every other club leader runs into, my club is far from the only type of Hack Club out there. I made an active decision to build my club for people who had no idea what coding was and just wanted a fun place to explore it & make real things with code every week. But every school is different, and different things work at different schools.

Broadly, most Hack Clubs run workshops. Most start out with the Hack Club Workshops, but as the club leaders gain leadership experience and get their club closer to what they want it to be, they often begin writing their own workshops. A "workshop" isn't exclusively something on the Workshops page; it's a club activity that follows the philosophy that the best way to learn to code is to dive in headfirst, make real projects, and learn along the way. For some schools, the "anarchy" style works well; others found that their club works much better when it's very guided.

JP, a rising sophomore from near Denver, Colorado, runs one of the best Hack Clubs. Check out the website he made for his club, and check out one of his workshops. I recommend going through each "day" under the "HS" tab to see all of them!

Julia runs a fantastic club near Austin, TX. She and Adison, the former leader of the club, contributed a fantastic Hack Club Meeting in April 2021.

One of the OG best Hack Clubs is Mason Hack Club, which runs in Cincinnati, OH. Their first meeting often has 80+ people, and they also run a hackathon every year. Check out their Instagram!

[redacted example]

What a Hack Club is not

Some people apply to Hack Club intending to start something similar to ACSL at my school. Usually these are very smart people who are trying to get into a good university, and think the best way to do it is to start a club that teaches USACO (similar to ACSL) curriculum, classroom-style, using C++ or Java. I think it is possible for those clubs to survive—if it weren't, none would exist—but I think we should discourage people from calling clubs like these Hack Clubs. A Hack Club can be whatever a club leader wants it to be—but Hack Club is the opposite of organizations like ACSL and USACO. Often, club leaders who want to run a club in this way haven't ever gone through a workshop themselves, and don't believe it's the best way to learn. We should steer them in the right direction, but in a way that makes them feel like they still have full control over their club.

Common problems club leaders run into, and how to support them

Problems I ran into that I wish HQ had helped with

I never tell club leaders this, but despite Hack Club being a foundational force in my life, I never really felt like the clubs program properly served me.

  • If Hack Club hadn't communicated the way they did around club applications in 2017, I wouldn't have frantically picked Ethan and Miles as my coleads, and it's entirely possible that the first year of my club would have gone a little better than it ended up going.
  • Although Hack Club tried to communicate that they were always available to help, I never felt that way; in fact, for my entire first year as a club leader, I felt like Hack Club was my "boss" and that if I didn't report positive results to them, they would kick me out. Hack Club's checkin bot at the time—called Hackbot—asked me every week if I met, and if I said "no", it would reply "That's a shame! Why didn't you meet?" And I would have to provide a reason in order to complete the checkin. If I didn't meet, someone from HQ would DM me to "help me get back on track", which I 1,000% did not want. Thankfully, Hack Club's communication became way better by the time I graduated, but we should never ever go back to that style of checkins.
  • I really wish I had a point of contact at Hack Club HQ who was totally non-judgmental and just wanted to help me run a better club. I felt like I had nobody to talk to during my entire time as a club leader, especially my first year. I had so many questions that I struggled to find the answer to by myself. How do I deal with Ethan and Miles? How do I start running meetings after school? Can I even do that? How do I run meetings that people are actually interested in? How do I market my club? Am I a bad person for not being able to run a club I'm proud of? Why do I hate coming to my own club?
  • The workshops were extraordinarily frustrating. It felt like most of them were never actually tested in a real club meeting. Once I started running my club after school, I could only run meetings for an hour, but most of the workshops took a little over an hour to complete, even the ones that were supposed to only take 45 minutes. So what would happen that we'd almost finish the workshop, but not quite finish, which is the worst possible scenario because my club members just struggled for an hour and then didn't get the payoff of actually having made something they're proud of—which understandably made them a lot less excited to come to future meetings. Also, there were soooo few workshops available to me—I felt like I didn't have enough workshops to last me even one semester, and only a handful of the workshops actually stood out to me in any way. This is why I started writing my own workshops during my final semester: I felt like the Hack Club Workshops were totally failing me and that my club would not survive if I continued running them in my club. Thankfully, I think we've made huge strides over the last year after I introduced the "mini-workshop" format that worked in my club to the official Workshops page, and after we ran the Workshop Bounty Program in October 2020.

Common problems that every club leader (including me) runs into

Running a coding club as a high schooler is hard work. It's very difficult to get it right—and many club leaders don't. In fact, after completing the leader rollover process—or, the process of contacting every club leader and checking in & coordinating leadership transfer for seniors—I found that out of the 350 clubs we had listed as operating in the United States, only about 150 of them are still running today. That means more than half of all clubs straight-up fail. And, of the 150 clubs that are still running, I can only name a handful of clubs that I can comfortably say are outstanding clubs. I'm not sure of the exact numbers—and to be fair, a large part of this is that I don't think we do a good enough job at communicating with club leaders and hearing about what actually happens in their clubs—but I'd be willing to bet that only a quarter of the remaining 150 active clubs managed by the US team are actually running clubs that they're proud of. During the end-of-year calls I had with club leaders, only one leader ever told me that they feel they're running the best club they feel they're capable of running.

Having led my own Hack Club throughout high school, these numbers are not at all surprising to me. Think about everything that you need to "get right" before you can run a club you feel comfortable with:

  • You have to figure out what your club is about and what you actually want to do every week.
  • You have to decide whether or not you're running your club alone or with a team.
    • If you're running it alone, you need to dedicate at least a few hours every week to coordinate every part of your club, and you need to know how to properly manage your time.
    • If you're running it with a team, you need to have a team that you trust and get along with, and you need to step up as a leader, coordinating & delegating work, and making sure there's follow-through. You need to know the strengths and weaknesses of your coleads, how to properly communicate with them, and how to hold them responsible for work—which is a lot more difficult than you may think when clubs are an extracurricular activity and high schoolers have grades and homework and exams pulling them in every other direction.
  • You need to figure out all of the logistics. Most schools require teacher "sponsor" or teacher advisor, to provide a classroom—how do you find a good teacher sponsor? What's the best time for your club to meet? Can all of your coleads make that time? Are there any other popular clubs in the school that conflict with that time? Should you meet once a week? Once every two weeks? Twice a week? Once a month?
  • You need to consistently make sure something happens every week.
  • You need to figure out who you're running your club for. Do you want it to be a fun space for beginners to explore, or do you want it to focus more on advanced topics? If you want to do both, how do you even make that work when everyone is in one space? Should you separate your club into a "beginner" and "advanced" track???
  • You need to figure out how to make the experience day-of incredible for your club members. This involves answering a set of its own questions, such as:
    • What's the best way for students who come to your club to learn?
    • How do you keep your club engaging & make your club not feel like a class when the goal of your club is to teach topics that are often complex, and you've never had to really teach something before? Should you make slides every week? Should you play music? Should you just let it be a quiet study time? Should you carefully guide your club members through an activity or should you let them do whatever they want? Or should you find a happy middle? If so, what is that happy middle?
  • You need to figure out how to market your club—and standing out is a monumental task when you're competing with dozens (or, in some schools, hundreds) of other clubs for the attention of your classmates.
    • Should you just make posters? Is putting up posters enough?
    • What should you do during the club fair?
    • Can you even effectively market after the first two weeks of school? Isn't that when most people have committed to other after-school activities?
    • How do you even design a poster?
    • What's the right messaging for your club? Will people actually come if you put up posters that say "Come to Hack Club if you're interested in coding!"? Or do you need to do something different?

And the most frustrating part is that, for most of these questions, there is no solid answer. If I sat down and thought about it, I could name at least one active club for every question I asked that answers the question differently than I would, but is still a "successful" club. Maybe the leaders aren't running the best club they can possibly imagine, but their clubs aren't failing. I can also name clubs that had the same answers to many of the questions as other clubs, but ended up failing. The answer depends on so many factors: where your school is located, how many people go to your school, what your student body is like, what the culture of your school is, and who you are as a leader and as a person, just to name a few.

The good news is that these questions often boil down to a much smaller list of problems that every club leader is guaranteed to run into in some capacity during their time as a club leader:

  • How do I run compelling & engaging club meetings?
  • How do I effectively market my club?
  • How do I follow through and make sure everything I want to happen actually happens regularly?

Revisiting my first year as a club leader

The reason I was building the clubs program for 2017 me was because, although many individual details are different, I think my experience as a new club leader was pretty representative of the the vast majority of high schoolers' experiences.

  • The first problem I immediately ran into when I started my club in September 2017 was that I had no idea what I wanted my club to be, aside from generally being a coding club. The only example of a coding club I had ever seen in my life was ACSL, so I just started running a classroom-style club, even though I knew I hated that format. Because I couldn't find something compelling to run every week, my attendance vaporized almost immediately.
  • The second problem I ran into was that I couldn't figure out how to convince people to join my club. I did everything I could (or, more accurately, everything I thought I could do at the time) to market my club: I designed some posters in Preview that said "Want to learn how to code? Come to CAT Club! We teach Python, Java, and C++!" Nobody ever joined my club from these posters. I think this is because they were totally not compelling to most people in my school. If I didn't know how to code, I would read those and think "Well I'm not good at coding, so this isn't for me," or "I don't know what Python or C++ are, so this club will be too technical for me." But I also think that because my club itself was bad, it created a self-fulfilling cycle: nobody wanted to join because the club was bad, and one reason the club was bad was because nobody wanted to join.
  • Finally, I had no leadership skills at all, and even if I had an idea, I almost never succeeded in actually executing it. This was of course due in part to my bad relationship with my coleads, but it was also because I had no idea where to even begin in order to make anything happen.

Almost every club leader who you will talk to who has led their club for more than a year will tell you that they've run into these three issues in some capacity. The specific details are almost always different, but for most club leaders it looks like this:

  • They don't know what to do in their club, so they run the Hack Club Workshops. But after 6-8 weeks of workshop after workshop, their club begins to feel stale, people start leaving, and they don't know what to do because the workshops are the only resource they feel comfortable using.
  • They put up a few posters in their school that are similar to the posters I put up, and they may get some traction, but not very much. Sometimes, if they have a good club fair, or they live in the Bay Area, this is enough to get them 40-50 people during their first meeting. But retaining attendance becomes difficult, and marketing efforts begin falling flat as the semester goes on.
  • When they do run the Hack Club Workshops for their first few meetings, the meetings feel kind of fun, but it doesn't feel quite right. Parts of the meeting are low energy, and people don't want to ask for help, even if they make themself available. 6-8 weeks later, their attendance is 1/4th of what it was during their first meeting. They try to pivot to Python lessons, but their attendance is still low and steadily dropping, and their meetings feel super low-energy. They try to switch it up one meeting by running a fun activity, or participating in the Congressional App Challenge, and although their club picks up for a meeting or two, it overall doesn't have much of an effect on the size or perceived quality of their club. Discouraged, they either let the club die at the end of the semester or trudge along with 2-4 active members for the next few years.

This is a very basic model that makes a lot of assumptions. Obviously, there are plenty of clubs that don't follow exactly that path. But I think it's the most representative model of most of the Hack Clubs—both active and inactive—that have been started in Hack Club's history.

What we currently do to support clubs

The Hack Club Workshops are a fantastic resource for both new and experienced club leaders. I wouldn't have been comfortable making this claim when I was leading my Hack Club, but since I graduated, the Hack Club Workshops have improved by leaps and bounds. Thanks to the Workshop Bounty Program, there are enough workshops to last club leaders 3 years. And although most of them are focused on web development and Python, there are some incredible new workshops that focus on other things too, including C#, Go, and a stunning intro to Rust. And, thanks to the philosophy change I introduced to the workshops when I first started working for Hack Club, most of the Hack Club Workshops only take 30-40 minutes to complete and are super easy to hack on after you finish. I feel like the workshops would be a much better resource for me now if I were still leading my club.

Hack Club Meetings is another program I introduced for club leaders in Spring 2021. I built Hack Club Meetings to solve the first problem I ran into as a club leader: I had no idea what a good Hack Club meeting looked like, or how to even begin running one, aside from "run a workshop, I guess". Each Hack Club Meeting contains a full recording of a real Hack Club meeting, combined with step-by-step instructions for how to run that meeting in your own club. The intention is not for club leaders to watch the full recording—all of them are over an hour long—but rather to treat it as a text guide paired with a real-world example. There are clickable timestamps throughout each Meeting, and the video pops out, so you can skip to timestamps throughout the meeting and get a general sense of how to run it in your own club. I think this is a fantastic resource for new club leaders, and I think it would have been tremendously helpful for me when I was struggling to run a club I was proud of.

The Hack Club Toolbox provides club leaders with a set of tools that may help them run a good club. The two most important things on the Toolbox are stickers and Zoom Pro:

  • Club leaders can get an envelope of 10 stickers sent to them immediately by running /get sticker envelope in Slack. For club leaders who are running meetings in person, I also offer to send them a sticker box, which contains 5 packs, or 250, stickers. There's no command for club leaders to get a sticker envelope; instead, if a club leader asks for one, I place the order myself by going into #mail-team and typing @maildog send sticker_box @username.
  • Anyone in Slack can start a Zoom Pro meeting for free by typing /z anywhere in Slack. They can type this anywhere in Slack, but if they want it to be a private meeting, or a meeting for their club, they should type it in their club channel or in a DM with themself. We also made a Google Calendar integration, which allows club leaders to schedule meetings for the future and generate a custom call link.

The Hack Club stickers are almost always a hit among club leaders and club members. One of the things that the leaders of Mason Hack Club did to market their club when it was just getting started was running across their school handing out Hack Club stickers to anyone who wanted them (which was many people in their school—people love stickers!). Stickers alone don't solve the marketing problem, but when applied correctly by the leaders, they make it a whole lot easier.

On Slack, club leaders only need to know about two things: their club channel & the private #leaders channel. They should automatically be added to both channels once their application is accepted. Their club channel is where they administer their club: /leader-add adds a new leader; /rename-channel renames the channel. They can also use /meeting-add to record a meeting and its attendance; for example, if a club leader ran a meeting yesterday, and 15 people showed up, they would run /meeting-add yesterday, 15 people. Eventually, as they build up attendance, they can run /stats, which generates a graph of their club attendance over time. (Try running /stats @matthew hidden to see what it looks like!) The #leaders channel is the private channel where club leaders chat, share resources, and ask & answer each others' questions.

Finally, I built a personal relationship with as many club leaders as I could. Those of whom I succeeded in doing that with almost always ran better clubs, or at the very least felt supported by Hack Club in a way that other club leaders didn't.

Beyond every specific resource we provide, I think the clubs program itself plays a major role in the lives of many club leaders. Even though I didn't feel like the clubs program itself served me very well, I am still so grateful that I ran my club with Hack Club, and I am certain it wouldn't have ended up the way it did had I not been part of Hack Club. The goal of the clubs program isn't to provide club leaders with a set of infallible resources to make it super easy to run a coding club; the goal of the clubs program is to help club leaders become better club leaders. There are plenty of resources we can, should, and do provide that make the hard parts less hard—but ultimately, it's up to the club leader to make their club amazing. They and only they are responsible for the success of their club. The reason I feel so grateful to Hack Club, and would 1,000% run it with Hack Club HQ's support again, despite acknowledging that the resources of the clubs program didn't really help me, was because Hack Club sparked a period of radical growth in my life and helped me find a sense of identity. And with my newfound sense of identity, through things like Windy City Hacks, I grew into an exceptional, confident leader. If Hack Club could provide this experience for every student who goes through the program, we would be an unstoppable force in the world.

How the clubs program can improve

There are a thousand ways the clubs program can better serve students. Today, the clubs program is in the best state it's ever been—and even so, only 42% of clubs succeeded. I know 2020-2021 was a super tough year to run a club, but we should be doing much better than that.

The club leader pipeline

When I was building Hack Club Meetings, I came up with the "club leader pipeline", and how I wanted Hack Club Meetings to play a role in it. Broadly, the club leader pipeline is this:

  1. A new club leader applies to start a Hack Club having no idea what a coding club is or how to run it. They start by relying fully on support from Hack Club, specifically with what to run in their club and how to facilitate a great, high-energy meeting. This is where I want Hack Club Meetings to be useful.
  2. Eventually, the club leader gains some confidence and feels comfortable facilitating a high-energy meeting, but they don't feel comfortable enough to be able to come up with a new activity reliably every week, so their club largely relies on the Hack Club Workshops and other activities other club leaders may share with them. They also still need occasional support from HQ to help them develop leadership skills; for example, delegating tasks to coleads, or talking to a colead who isn't pulling their weight.
  3. Eventually, the club leader begins to "figure it out", and is able to create their own club activities every week. Every part of the process of running their club is completely independent: they have a routine in place, but also know when to divert from it so that their club doesn't become stale; they know how to keep the energy high day-of; their club members are being "converted"; they rarely need to rely on HQ for leadership support.

I am a big fan of the "club leader pipeline" model, but it has a flaw. I want the clubs program to help new club leaders become amazing club leaders—but I also don't want Hack Club to be a place that people "grow out of" once they've hit a certain experience level. Hack Club should be a place that provides a space to grow for beginners, super experienced people, and everyone in between. I've heard this sentiment expressed when referring to the Hack Club community, but I also think it should apply to the clubs program—and right now, I don't think we're doing a very good job at supporting club leaders who have "figured out" how to run a good club.

Noah is a great example of an experienced club leader who I don't feel we're properly supporting. He runs fantastic, high-energy meetings every week, and almost every week he makes his own workshops. Almost none of the resources Hack Club provides to club leaders are useful to him. He remains a part of the Hack Club network because he thinks Hack Club is very cool, but if Hack Club weren't a part of his life, he would likely be running the exact same club.

Club operations

Many parts of the clubs program are surprisingly fragile, or in a bad shape. One of my final projects during my time at Hack Club was facilitating "leader rollover" for this year. This was a monumental task because we didn't do it last year, which meant that we ended up with dozens of clubs with a point of contact who had graduated, and no way of knowing if the club was still running or not. Throughout the end of April until the end of my time at Hack Club, I contacted all 350 club leaders manually, including those who had graduated, to get a better sense of which Hack Clubs were still actively running.

Related to this, I think we've totally failed to find a way to check in with club leaders in a way that both feels natural and also is scalable. Because of this, many active Hack Clubs hadn't heard from Hack Club HQ for almost 2 years. Some club leaders I reached out to during leader rollover were surprised to hear from me because they thought Hack Club had shut down.

Before I did leader rollover, we did not know how many active Hack Clubs existed. We knew that there were about 400 clubs in the database, but many of those clubs had not been contacted for years and had a point of contact who had graduated. It's crazy to me that a stat as seemingly basic as "How many Hack Clubs are actively running?" is a question we hadn't had an answer to for years—and if we don't frequently check in with club leaders, we will get back in that spot.

When I think of "club operations", I'm picturing the parts of the clubs program that need to be actively maintained. Reliably checking in with club leaders, building relationships with club leaders, maintaining the applications process and making sure it's a smooth experience from start to finish.

By default, we should check in with club leaders once every semester: once in August, to make sure they're in a good spot for the fall; once in December, to check in on how their first semester went; and once in May, to check on in on how the year went and coordinate leader rollover for graduating seniors. If we have a touch point once every semester, it will be a lot easier to keep track of how many clubs are actively meeting, and club leaders won't feel like they're being left in the dark by Hack Club HQ.

But! We should also form relationships with as many club leaders as humanly possible, and we should somehow incentivize them to talk to us frequently via Slack. At the very least, every club leader should at least feel like they have a point of contact at Hack Club who they feel comfortable going to for help. And we need to communicate that in a way that shows we're serious about it. We can't just say "If you need any help, let me know!" because club leaders won't believe us. Hack Club said that during my first year as a club leader, and I didn't believe them. I think the best way to do that is to get students involved in the onboarding process for new club leaders as possible: almost every Hack Club leader who I've onboarded since November has reached out to me for a question or for advice at least once, because they left the onboarding call feeling like they just got on a call with the coolest person ever who also happens to be their age.

The club leader resources

The club leader resources are in a decent spot, but I think they still have a long way to go.

Hack Club Workshops

Although I feel a lot more comfortable recommending the Hack Club Workshops to club leaders than I used to, I still think don't think a Hack Club can survive off of Hack Club Workshops alone. Eventually, a point will come when a club running entirely off of workshops runs out of steam—and because many of the workshops cover similar topics (mainly web development with HTML, CSS, and JavaScript, and Python), that moment comes pretty quickly for most club leaders. Maybe it's okay that the Hack Club Workshops don't carry a club—but right now, we tell club leaders that the workshops are the "Official Curriculum" that we provide to them, which certainly implies that they should be able to run their club off of them. And if that's what club leaders feel the workshops should provide to them, then we're leaving many of them feeling like the resources we provide to them aren't very high-quality. Even if a change in messaging is the bulk of what we need to do, though, I still think we should get more diverse workshops online. I want to see more hardware workshops! Most Rust workshops! More Go workshops! Some really weird workshops, like creative coding with C++!

Hack Club Meetings

I think Hack Club Meetings had a very strong start, but it's still far from 100%. Currently, there are only 5 Hack Club Meetings online. And, while I've heard from a few club leaders that they were very useful for them, there's so much that can be done to make them an even more useful resource:

  • If the goal of Hack Club Meetings is to help new club leaders with getting started, I think it's essential that we somehow turn the Personal Website workshop into a Hack Club Meeting.
  • We should have at least 10 Hack Club Meetings, because that's enough to cover most clubs for most of semester. But ideally, we should have enough Hack Club Meetings online to last club leaders a full semester, or even a full school year.

Fundraising & Hackathons

After I ran Windy City Hacks in June 2019, I had $2,000 left over in the event's bank account. When school started that fall, I decided I would allocate $1,000 of that to be used for my Hack Club. Having that $1,000 for that semester gave my club superpowers. All of a sudden, a bunch of crazy ideas I had that previously never would have been attainable were possible. Suddenly, I could afford to buy candy every week to hand out with my sticker cape. Suddenly, I could spend $40 on pizza for my meetings every week. Suddenly, I could run competitions or giveaways and be able to purchase real prizes. I certainly spent a lot of unnecessary money—on Tap the Blob, for example, I burned through a few hundred dollars on prizes—but also, having pizza at my meetings drastically changed the vibe of the meeting. One person came to one of my club meetings just for the pizza, and then they made a project they were proud of and became an active club member for the rest of the semester. Pizza turned my meetings into parties, which made my club feel a lot more accessible to people in my school who would otherwise have been intimidated. And I could only afford to have pizza because I had a real budget for my club that semester.

We can't give every club leader money. Not just for the obvious reason that it's not scalable for us as an organization, but also because we've literally done it before. In 2019, as part of a partnership with GitHub, GitHub gave $100 to every single Hack Club, no strings attached. In theory, this sounds great—most clubs don't have a budget, and $100 is more than enough to run an incredible first meeting with pizza and prizes, or to buy a few pieces of hardware that enable clubs to work on hardware projects. In reality, though, the money was crazy challenging to distribute to Hack Clubs around the world, and instead of making clubs any better, they made many club leaders feel entitled to money from Hack Club.

For most high schoolers, raising money on their own is unthinkable. It certainly was for me for most of high school. But then I raised $250 on my own for CodeDay Indianapolis. And then I raised $500 for the next CodeDay Indianapolis. And then I raised $3,000 of the total $15,000 that Hack Pennsylvania raised. And then I raised $12,000 of the $14,000 we raised for Windy City Hacks. Being able to raise real money and use it to do real things in the real world was what boosted my confidence more than anything. I think one of the best things we can do for club leaders is help them raise money for their clubs on their own. They don't need to raise $15,000; they just need to raise $100 or $200 from local businesses that they can use to spend on making their club better. I have no idea how this works in implementation; all I know is that it's essential that this becomes part of the clubs program at some point in the future.

One of the best ways to give Hack Clubbers experience raising money on their own beyond their club is to encourage them to organize hackathons. Organizing a hackathon is incredibly challenging: you have to raise at least a few thousand dollars if your event is going to happen at all; you have to find some way to market the hackathon to your community; you have to find a venue that will allow minors to stay in their building overnight; you have to manage a team, and keep people accountable for work while also keeping everything low-drama. Running a good hackathon is even harder: you have to make sure the day-of experience is incredible; you have to make sure people are fed; you have to make sure the event feels inclusive; you have to make sure there's no room for cheating; you have to make sure people are having fun; you have to make sure there's no bullying/negativity/etc; you have to design an experience that feels new. Being able to pull all of this off, or even half of this off, as a high schooler is life-changing, and it gives you a crazy amount of leadership experience. Almost all of the best Hack Club leaders have also organized a hackathon.

The application system & flow

When you submit a club application, here's what happens behind the scenes: the 3-year-old website sends a request to our deprecated API, which sends an email with the JSON data of the application. A Gmail rule is set on my account—matthew@hackclub.com—to automatically add a tag called "Application JSON" to the email. A Zap on Zapier checks for a new email with the "Application JSON" tag every 5 minutes. When it finds a new email, it parses the JSON and posts the data to a private channel on Slack called #application-committee. Application Committee is managed by @bouncer, which is actually just a series of Zaps on Zapier that listen for certain webhooks, Slack commands, and Slack messages.

Some of these Zaps attempt to identify club leader Slack accounts from their application email. If a club leader joined the Slack with a different email, they have to join #bouncer-checkin and post an ugly registration passphrase, which will trigger the Zap that links their account to their leader profile in Airtable. This passphrase & these instructions are only shared at the bottom of an email the club leaders get when they are accepted. Because it's pretty easy to miss, about a quarter of accepted clubs end up in a state where Hack Club HQ is waiting on them to do something and they are waiting on Hack Club HQ to do something. There's no way to know this happened unless you happen to notice that it's been a few days since an accepted club leader joined the Slack and happen to check if there's a Slack account with the leader's name. When you realize they've joined, Bouncer will not recognize they've joined and move ahead with the flow unless they post the passphrase, so you have to find the passphrase in Airtable and ask them to post it in #bouncer-checkin (you can't post it yourself).

THIS IS RIDICULOUS. I wanted to rewrite the application flow during my time at Hack Club, but it never happened because I felt like there were always more pressing issues. If you can find time to make this better, I think it will be worth the effort. In the meantime, you'll have to be aware of this. Usually if I haven't heard from the club leader after 3 days, I check to see if they have a Slack account. If they don't, I email them after a week asking if they're still interested in starting a Hack Club.

I also think the application flow can be improved from a user experience perspective. Right now, the next steps after you apply are a little unclear, and they become even more unclear after a club leader is accepted. Almost every club leader who makes it to the onboarding call clearly feels a little intimidated because we don't communicate what an onboarding call is or what's expected of them in their acceptance email or on Slack. Club leaders should be able to join an onboarding call and understand what they're joining. After the onboarding call, they should receive a custom, handwritten note along with some stickers. There are so many things we can do better there.

Philosophy messaging

Lots of things I wrote here, specifically the stuff that covers our philosophy around supporting club leaders, would actually be super useful information for club leaders to know—but right now, almost none of them know that this is our thinking, and no club leader has ever seen, heard, or read a dive into our philosophy as deep as this. I think that if we could communicate our philosophy around the clubs program more clearly to leaders from the beginning, it may go a long way in helping them run better clubs:

  • Getting a club leader bought into a philosophy is a great way to start a relationship with them, because they think you're cool as hell and Hack Club is cool as hell.
  • If club leaders heard and deeply understood this philosophy, it would likely influence the way they think about their club in a positive way.

I don't have any good ideas on implementation. Maybe we need a new philosophy page. Maybe we should somehow communicate this in acceptance emails. Maybe we should radically redo the onboarding call to be all about philosophy. Maybe we should set a culture of phone calls with club leaders and have a follow-up late-night chat on the phone with every club leader where we share this information. Whatever the implementation (I trust you'll figure something out), I think we should do a better job at communicating our philosophy with club leaders.

Building a community

Online

Although #leaders has increased significantly in activity in the last year, I think there's so much that can be done to build a vibrant community of club leaders.

Right now, there are so many club leaders who are running absolutely incredible meetings that would be very useful to other club leaders, but that nobody knows about, because there isn't a good place for them to share their meetings, and there's no culture of sharing meetings and resources. This is one thing that I hope Hack Club Meetings can one day evolve into—but the solution is bigger than just more Hack Club Meetings. The #leaders channel should be full of club leaders—old, new, and in between—sharing updates about their club, including recordings, demos by their club members, slides, and anything else that they think would be useful.

We should maintain a weekly or bimonthly newsletter that features some of the best club meetings and share what Hack Club HQ is up to.

In person

There are clusters of Hack Clubs in cities and regions all over North America, but almost none of them talk to each other. The largest cluster is in Seattle, where there are literally dozens of Hack Clubbers who, for the most part, never talk to each other. The second-largest is in Toronto. There are also large clusters in LA & the Bay Area, Chicago, and New York City, and a smaller one in Vancouver, among a few others.

One of the things I would have done if COVID-19 hadn't happened would have been driving across the country to all these clusters to organize an in-person meetup. In February 2020, I drove from New Haven, CT to Hartford, CT and somewhere in New Jersey to visit two club leaders in person & buy them lunch. In early March, right before COVID became a pandemic, I drove from New Haven, CT to Denver, CO to visit a club. If COVID hadn't happened, my next stop would have undoubtedly been Seattle, followed by all of the other clusters.

If we can get another gap year student who happens to have their own car and is crazy enough to want to drive across North America, I think they should pick up where I left off in 2020.

But driving across the country isn't the only way to get the clusters of Hack Clubbers talking. One thing early Hack Club used to apparently do was organize in-person Hack Nights and pay for pizza. We could do something like that again. Or, we could find the best club leader from each of the clusters and work with them to coordinate a big dinner that's paid for by Hack Club.

Whatever the implementation, I think it's important that we get the clusters talking. Every time Hack Club has facilitated an in-person meetup of Hack Clubbers (at least during my time) it has led to increased buy-in in Hack Club by those leaders and has often created a magical experience that they will never forget. I'm not necessarily saying that one dinner or one Hack Night will create a night that a bunch of club leaders will never forget, but I can almost guarantee they will start talking independently and organize joint club meetings and even hackathons together.

What I would do if I were at Hack Club for another year

During the summer

Ideally, I would take the summer to fix some of the problems with club infrastructure that had been bothering me during my time at Hack Club (e.g. Bouncer). I think that realistically, we'll be all-hands-on-deck on the train, then take a break for 2 weeks, and then school will start, so there won't be any time to do that.

The application flow

Shortly before school starts, I would make some meaningful changes to the emails we send out to club leaders who apply to Hack Club:

  • I would better communicate the waiting time and next steps in the application confirmation email. "You will receive a response likely within a day or two, but sometimes applications can take a week to process. If you haven't heard back after a week, please DM or email Leo."
  • I would make the most drastic changes to the acceptance email.
    • Instead of saying "...and I'm happy to say, you're in!", I would change it to something that communicates that we're grateful to have them on board as a Hack Club leader.
    • I would have a short paragraph about what being a Hack Club leader means (mostly high-level inspiration). Maybe this could very briefly go into the Hack Club philosophy, and link the philosophy page.
    • I would set very clear expectations for next steps.
      • "Your next step is to have an onboarding call with Matthew, who has two eyes. Organizing the onboarding call happens over Slack, so make sure to join when you get a chance—you should have received an invitation from Slack in your inbox."
      • "If you've never been on a call like this, don't worry. It'll be super chill, and the point of the call is just to get you fully set up as a Hack Club leader and get to know Matthew."
      • "Onboarding calls typically don't last longer than 30 minutes, but we ask that you block 40 minutes just in case we happen to run overtime."
    • Reiterate again that we're so excited to have them on board as a Hack Club leader, we can't wait to see their club soar, and we're excited to chat soon.
    • Add an easter egg somewhere.
    • Add some styling. The email is turned into HTML anyway, so you might as well make it look nicer and more "official" than it currently looks. Hack Club leaders should want to go back into their inbox to find The Acceptance Email years after they graduate high school.

I want to send a physical piece of mail to every club leader after their onboarding call that's kind of like a second "acceptance" letter. It would:

  • welcome them to Hack Club and reiterate that we're so excited to have them on board.
  • re-state all of the leader resources that were mentioned on the onboarding call. This should be something they should be able to go back and see later.
  • include a signature from Zach and Leo.

Maybe a physical piece of paper that we mail to people is a little too much, but we should definitely send something that recaps the onboarding call after the call ends, even if it's digital.

Also, I would continue the routine I started in March where I write every club leader a handwritten letter and put it in an envelope with some stickers and a wax seal. It doesn't take too long to do it with the wax gun.

Checking in with club leaders

Immediately after our August break, I would DM and email every single club leader who's marked as active in the Operations database (after 2021 leader rollover, this number is somewhere around 150, not including APAC clubs). It would just be a quick check-in, just to make sure they're still planning on running a club this year and to ask if they need any help getting in a good spot for the beginning of the school year. It's extremely important that this happens reliably every semester so that we can continue knowing how many Hack Clubs are actively running.

The club leader newsletter

I would start the club leader newsletter back up. This time, the recipients would be a lot more clearly defined, because for the first time during my entire history with Hack Club, we know how many Hack Clubs are actively running. The first newsletter would be reintroducing myself and expressing my excitement for the year. The main focus of the first newsletter, though, would be club rush. I would get a working demo of Lachlan & Theo's Twilio demo back up; I would share it, along with the source code, in the newsletter; and I would strongly encourage club leaders to run the demo during their club fair, whenever it happens for them, because historically it has been the most successful club fair demo I've heard being run by Hack Clubbers. I would also encourage club leaders to order a sticker box by DMing me on Slack so that they can cover their table in stickers and hand out stickers to people during the club fair.

I want the newsletter to happen regularly because it's one of the only ways to stay in touch with club leaders that doesn't involve individually DMing each one on Slack. It's also important to me that the newsletter is always sent by BCCing every club leader in Gmail—never Sendy or MailChimp or any other newsletter/mass-email software. People are a lot less likely to reply directly to emails sent with special software because they know that they were just put on an email list. It feels a lot more different if it's coming directly from matthew@hackclub.com and I say in the email that I literally just pasted everyone in the BCC field. I got multiple replies on every newsletter I put out (check them out on our GitHub!), and it's also how I first got in touch with Adison, an incredible club leader from Austin (now graduated) who I had a great relationship with & who contributed one of the best Hack Club Meetings.

The newsletter should happen regularly, but I think it's more important that I actually have something useful to say. I would never want to write a newsletter out of obligation, because those are always lower-quality, and it only takes one or two mediocre newsletters to make people stop opening them or unsubscribe. An ideal world is one where the newsletter is published once every two weeks—but, again, only if I have something useful to say. When I think of "something useful", I think partly of ships from HQ. But I think I would also want to get to a point where I have a good enough relationships with the best club leaders that I can just call them up and ask them if I can feature their latest meeting in the newsletter. So most of the newsletters wouldn't be HQ ships, but instead a highlight reel of the best meetings by the best Hack Club leaders, ideally with slides or commentary or something like that.

Hack Club Meetings

If Hack Club Meetings is ever going to be a good resource for club leaders, it has to evolve in some way. The most important Hack Club Meeting that should be added by far is the Personal Website workshop. Ideally, I would work to add this in August, but I think August will be a pretty busy month and I may not have the capacity to do that, so it may have to wait until September. But I wouldn't want to wait a whole semester to get it online, because it's the most important meeting for new club leaders to know how to run.

I would restart the routine I had going in March where I would get on a call with some of my favorite club leaders—except, this time, I would include some newer club leaders who I think show a lot of potential, and also use this as a way to get to know them. I would convince them to record a club meeting, and I would work with them to figure out a great club meeting. Maybe we could even write a custom workshop together, just like I used to do for my Hack Club. I would make sure they have the right setup to record their club meeting. If they're running a meeting via Zoom, this is easy; if they're running a meeting in person, I would see if they have any cameras at home. If they don't, I would buy a tripod for their phone so that they can set it in a corner and use it as a camera. A phone may be a better camera anyway for in-person meetings because it would be easier to make the recording feel authentic and "homemade" rather than like a staged production By Hack Club.

Convincing club leaders to record their club meetings was a challenge in March. The first few leaders said no when I asked them directly. The way I eventually convinced club leaders to record their club meetings was by having a call under the pretense of me wanting to get their feedback on the concept of Hack Club Meetings, then casually popping the question at the end of the call after they finished giving their feedback. I think this worked because I got them excited about the concept and made them feel heard, and they were in a spot where they wanted to contribute to this project that they found to be very exciting, and they began to view recording their club meeting as a logistical challenge that they're happy to figure out how to overcome rather than a non-starter. I'm not sure how I would convince club leaders to record their club meetings this year, since Hack Club Meetings is now a real thing. Maybe I could get their feedback on the program so far. I would figure it out. Either way, it's important to keep in mind that if you ask club leaders out of the blue to record their club meetings, they will almost certainly say no, even if you have a good relationship with them. You need to frame it some other way: ask them to get on a call for something that actually is useful to you (e.g. feedback on Hack Club Meetings) to get them excited, and then briefly ask "I was wondering if you wanted to contribute one of the first Hack Club Meetings! By the way this would involve recording one of your club meetings, so I don't know if that's a dealbreaker for you, but what do you think?" Every single time I did this, without exception, the club leader said yes.

The Personal Website Meeting

I want to quickly touch on my vision for the Personal Website Meeting, since I have very strong opinions on exactly how I want it to look.

When I picture the Personal Website Meeting, I picture an in-person meeting in a classroom. There's a camera on a tripod in the corner. Maybe there's a microphone so that the audio is better, but it's okay if the default phone or camera microphone is used, as long as it's possible to hear the club leader. The camera doesn't have to be exceptionally high-quality, but it should be decent, and it's extremely important that the classroom is shown in the frame in its entirety. There should be no part of the classroom where the people are out of frame. There are at least 20, but preferably more, people in the room. There's music playing in the background. Here's the Spotify playlist I played during my first meeting in Fall 2019. But those songs very much represent me in 2019, so it may be a better idea for the club leader to make their own playlist. The club leader gets in front of the room and says almost exactly what Lachlan wrote in the 2019 leader guide. The only thing that would differ from what Lachlan wrote is that at the end of the talk, the club leader would write "hack.af/intro" on the whiteboard in very large letters and kick off the meeting by saying "You're going to make your first website, right now. We will demo 10 minutes before the end of the meeting; you have 45 minutes left. Go." Music would start playing in the background again. For the rest of the meeting, the club leader never sits down; instead, they (and their coleads, if they have any) run around the room asking every club member if they need help. When they finish one round of going around the room, they start another one, and another one, and they NEVER EVER SIT DOWN EVER. It would be cool if they used my music timer project if they have Spotify, but that would just be a nice touch and it's not essential at all to running a good meeting. 45 minutes later, hacking would stop, and they would call on club leaders to demo their projects. It's low-pressure, and nobody should feel forced to demo, but everyone should be strongly encouraged to demo. After about 5 demos, the meeting ends, and music plays as people trickle out.

When writing the Hack Club Meeting itself, it's important that I capture some of the conversations that happened between the club leader and their club members when one of their club members asked for help. I'd do my best to transcribe any dialogue I hear, kind of like in Nathan For You S03E04 "Smokers Allowed" where the transcribers are transcribing all of the conversations that happened in the bar. From the perspective of the person who views the finished Personal Website Meeting, they should be able to read through the Meeting and understand that 1) They should start the meeting off immediately; 2) They should never sit down and always be helping club members; and 3) They should make their meeting feel like a party by playing music in the background. The footage of the meeting should serve as a way for them to visualize what the meeting should look like if done correctly; they should be strongly discouraged from watching it all the way through.

I want to make clear that this is definitely not the only way to run the Personal Website Workshop. Like I stressed in an earlier section, different things work for different schools, and the club leader is the person who knows their school best. However, I feel strongly that this should be the version of the Personal Website Workshop that's turned into a Hack Club Meeting because this version of the Personal Website Workshop is the one that has consistently inspired club members and club leaders alike. This was the meeting that Lachlan ran in 2017, when they had so many people in the room that it was overflowing and people had to sit on the windowsills. This was the meeting I ran in 2018 and 2019, when 20-30 people who had never written a line of code before left the meeting in awe, having made their first real website with real code in an incredibly fun, inclusive environment. This is the quintessential Hack Club Workshop, and it's important that it's done right when turned into a Hack Club Meeting.

The future??????

I don't have a clear picture of what I would do after this. Broadly, though, I think a few things should happen:

  • We somehow need to check in with club leaders again in December and again in May. We cannot miss this; if you do, the next check-in will be a lot more difficult to and you will just accumulate debt. Please make time to check in with club leaders in August, December, and May.
  • I never quite figured out a good "meeting check-in" system. Previously, Orpheus used to send a check-in message to club channels every week (scroll up in #westlafayette to see what this looked like). I personally wasn't a fan of that system, because 1) it felt very impersonal—instead of making club leaders feel supported, it made them feel like they had to check in with their boss; and 2) I forgot the numbers, but the check-in rate was like 10-20%, or something ridiculously low, so it wasn't doing its job anyway.
    • On onboarding calls, I've been telling club leaders that it would be great if they logged meetings with /meeting-add, because it helps us know how many active clubs there are and it allows them to do fun stuff like /stats, but also it's not required and nobody will get on their case if they don't log meetings.
  • It would be great if we could make some more progress on workshops this year, but last year's addition with the Workshop Bounty Program was so massive that we can probably coast on it for another year if needed.
  • If you have time, it would be amazing if we could finally deprecate hackclub/api for good by getting login authentication and the club application process off of it. This is a much bigger task than it may seem, though, so it's okay if it doesn't happen. It's not very urgent.
  • By the end of the first semester, or by spring 2022 at the latest, you should ship something big for the clubs program. Something on the scale of Hack Club Meetings, but that solves another area where club leaders need help.

Conclusion

The only things that are changing by me leaving Hack Club are that I'm moving back to Indiana, I'm not getting paid anymore, and I'm not expected to do any work. But I care deeply about the success of the clubs program, and I know there's going to be a massive learning curve for your first few months, so I'm happy to be available whenever you need me. My phone number is [redacted] and my email is [redacted]—if you ever need to get in touch to talk through anything, please let me know and I'll be happy to do that for the foreseeable future, including after I start college.

I purposely didn't include any technical instructions—e.g. how to navigate the Airtable, how to use Bouncer, how to use some commands on Slack, etc.—because we'll go over all of those in person, you'll have Max around to help you, and you'd figure it out even if you didn't have either of those things. I wanted to stick strictly to what I and only I can provide, which is a deep dive into the clubs program, both as a student who went through it and as a member of Hack Club HQ who helped build it.

I hope you find this useful in helping shape your thinking as you get started. 💖

-Matthew