Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time


Making the HackMIT Club Penguin 🐧 dream come true.


Dabbing in Playground


Make sure you have Go installed. If you don't have Go installed, click here. (If you're on macOS, I recommend using Homebrew)

Start the database

Make sure Docker is installed, and that the Docker daemon is running. Then, run the following command to start an ephemeral database in the background:

docker run -dp 6379:6379 --name playground-db redis:latest

Set up secrets

You'll need our secrets file. If you want to use your own secrets, copy .env.sample to .env and paste yours in there. If you need to get the HackMIT ones, message Jack.


To build the project, just run the following command:

go build .


To run the project, you can then just run the binary:

./playground -reset

Use the -reset flag the first time you run Playground in order to reset the database to its initial state. After you do that once, you don't have to use the flag anymore, unless you want to wipe everything.

Run the frontend project

Check out the playground-frontend repo for more details about how to set up the user-facing side of this project.


In the coming weeks, we'll be cleaning up the project to a point where it isn't nearly as embarrassing as it is now. If you find any bad coding practices (spoiler: you will), we apologize — much of this project was completed at the last minute. Once we have a chance to clean everything up, we should be ready to receive some contributions!


Can I use this for my own event?

In the coming months, we plan to clean up this project and get it to a point where you can run an event by just adjusting some config files! This won't be ready for a little while though — stay tuned for more info.

Why did you build your own virtual platform?

Building it was fun! Also, we didn't want to pay for one, and we didn't love the options that were available back in April, when we decided to take on the project.

How can I deploy this?

We used AWS Elastic Beanstalk during HackMIT in order to handle the load from thousands of concurrently connected users — our project is set up to have multiple ingest servers running in parallel. We'll publish more details about this soon.

I have another question!

Feel free to ask us on Gitter! You can also email us at


Playground is available under the MIT license. See the LICENSE file for more details.


This project wouldn't have been possible without our supportive and energetic team and the greater open source community.

Dev team

Design team