All applications must be built using Node.js.
You’ve got precisely 48 hours to develop your web app during the competition and not a minute more. The competition kicks off at 12:00 AM / 00:00 UTC on Nov 23, 2019 and ends at 11:59:59 PM / 23:59:59 UTC on Nov 24, 2019. PLEASE make sure to find out exactly what time that is in your timezone. We don’t want anyone to have a disadvantage because they didn’t do the conversion ahead of time.
Of course, feel free to work on the concept for your application before the competition starts: pretty hand-drawn pictures on napkins, angry email threads between team members on two-space or four-space indentation, schema designs, finite state machines. Just no digital assets including graphic design assets, code, etc.
After those 48 hours are up, judging will start. No additional features or bug fixes are allowed during judging, or you will be disqualified. Please don’t make us disqualify you; we’ll be very sad.
Teams are composed of between one to four individuals. No more than four people are allowed on a team. Individuals don’t need to be programmers nor even know Node.js, but both of those definitely help.
Source code will be hosted in a shiny, free git repository. We’ll send repo access information before the competition starts. Your team should push regularly to show progress. We’ll be watching to make sure people don’t cheat (don’t think you can develop everything ahead of time and push it all at the end; we know lots of git tricks too).
We will provide free, private instances to deploy your code to during the competition. Expect login information before the competition starts.
In order to ensure that no code is changed during the judging week, all contestants must deploy their apps to the instances we provided for the competition. You cannot deploy to any other server, no matter how face-meltingly awesome it is.
Entries will remain up until winners are announced. During judging, we will have access to make sure there is no cheating, including comparing deployed code with that in the git repo. After the 48-hour deadline, you will still be allowed to restart processes, free up disk space, and other general sysadmin tasks.
Entries should be web applications. It’s hard for judges (especially the general public) to fairly evaluate entries that require compilation or setup. If you want to submit a non-web app, you’re welcome to, but you aren’t likely to get judged fairly. If an app is not a website, but some library, utility, or desktop program, then it must be deployed to the npm registry.
If you do decide to submit something that isn’t immediately accessible via the web, then we encourage you to think of a clever way to share it as a website (e.g. via VNC) or market it (e.g. jQuery Quicksand).
Libraries, plugins, and modules that are public and freely available are allowed and encouraged. During judging, please list all libraries that you use on your team’s profile page to give credit where it’s due. Stock photos and free icon sets are allowed. Paying for something that is not generally available to everyone else is not allowed, and not nice.
Developing a library in secret before the competition that provides the same general functionality of your entry and releasing it a day before will likely get you disqualified and called sneaky. On the other hand, developing a library that is publicly available and provides a general-purpose, publicly usable function can be done before the competition begins.
We encourage use of third-party web services and their APIs (e.g. Twitter, Flickr, Google maps). Almost everyone loves mashups. Again, make sure to update your team profile with what services you use.
Ownership and Open Source
The code you write is yours. If you intend to share it after the competition, you can pick whatever license you love. We encourage contestants to open source their code, but it’s totally up to you. If you want to start a business based on it, awesome.
Please note we will have access to your repository during the competition to audit for cheating, but we won’t steal any of your secret recipes or patent-pending algorithms. Stealing will get us disqualified.
Winners will be picked by a mixture of voting by contestants and the general public. Learn more about scoring.
Please remember this is a competition just for fun. We encourage playful competition, but most of all we want everyone to have a good time. This event is to help the Node.js community learn and come together in a good spirit. Be nice to your fellow competitors. Don’t break any laws. Have a good attitude and enjoy yourselves!