Maybe another relevant source: "Coding da Vinci – Das Playbook Schritt für Schritt zum eigenen Kultur-Hackathon" https://www.degruyter.com/document/doi/10.1515/9783111085883/html
"How to setup and run a hackathon"
GitHub/ Dribdat/ Handbook
Handbook for Hackathons powered by dribdat
The person or team that is responsible for organizing a hackathon, Hackdays, make-a-thon, or similarly time-limited collaborative problem-solving experience. This Handbook will give you basic information to confidently plan and set up dribdat as a key digital platform for your event. We hope that it also answers questions that your supporters and participants may have about it.
The input of “challenge owners” who actively contribute content, help with funding or other practical support, you are decisive to the success of a Hackathon. Champions are often also the Organizers, and usually can be relied on to be active Participants of an event. Sometimes known in the role of “Ideators” or “Experts”, things tend to work best in our experience when they are able to blend themselves in well with a team. Nevertheless, we are keeping them as a separate Audience for the purposes of this document.
You are what it is all about. People who take their time, contribute their skills and knowledge and enthusiasm to make something happen. Supporting and recognizing your work is the goal of this Handbook, and your experience is the reason we work hard on open source tools like dribdat.
Anyone who is installing dribdat, contributing to support software and online platforms.
This document is structured in the form of descriptions of the standard processes that take place in a dribdat powered event. For each process, you can find an explanation of the goals, procedures, and common issues, accompanied where necessary by screenshots from the tools. If you are new to Hackathons or dribdat, you can find background information in the section Additional Information near the end. This is a living document which you are welcome to contribute to. Currently, the following processes are covered:
- Announcing Challenges - Organizers, Champions
- Defining a profile role - Participants, Champions
- Starting a challenge team - Champions
- Joining a challenge team - Participants
- Documenting a project - Participants
- Providing feedback - Participants
- Additional Information for Maintainers
- Further references
Announcing Challenges (Organizers, Champions)
As an event takes shape, the organizers and supporters come into contact to discuss the various ideas which will be presented at a Hackathon. Setting up a fresh instance of dribdat with a brief announcement of your event, its general goals and rough timeline, is a great way to get the process started. Once you have installed dribdat and created your first Hackathon, the prominent Announce challenge button leads to a form which can be used to document each proposal.
- Log into your dribdat instance with an administrator account.
- Create your first event on the home page, or use the Admin backend
- Optionally edit the “Getting started” content to include pertinent information
- Share the link to the new event page with potential Champions of the event
- Check in on their progress, and support them to collect details, slides, data, etc.
You should have in the end a nice and presentable event page with a variety of challenges to browse through. For an optimal team size of 4 people (physical) and 8 people (virtual), you can now work out your participation goals and start spreading the word about your upcoming event.
For larger events, multiple teams may often be encouraged to work on the same type of challenge. It may become cumbersome to navigate a single event when both challenge descriptions and projects are listed together. In this case, we suggest distributing them by topic using Categories in the Admin panel. This way projects can easily reference their respective challenge in a drop-down list.
The user interface of dribdat may be too constraining for the way you want to present your event’s challenges, and in this case you are welcome to publish challenges externally. Here again, Categories can be used to easily link external content to the solutions on the platform.
Defining a profile role (all Participants)
At a Hackathon, we try to do away with the typical hierarchy of the workplace. You know .... this kind of thing 👉
Nevertheless, we have important responsibilities to each other. For Participants, our main duty is to engage with and support fellow team-members, one of whom is probably a champion of the Challenge. It is important to know who is an Organizer, if you need to get assistance or report a problem. For this reason, it is possible to define and assign Roles.
- Creating your Profile. In order to create your Profile, using the email you registered with, go to the menu and click on . Then click the box
- First pick your role, one you can fill on a team: practical designer, developer/coder, ideator, researcher/data analyst, hack staff. Others will see the icon of your role, and this will make it easier to find team members as needed.
- Scroll down to fill in all the blanks and add a short user name that won’t hide your role icon later (preferably under 10 characters).
- Don't forget to scroll to the bottom and hit when finished!
- Adding your profile picture. If you want to display your profile picture on dribdat, you can create a gravatar (globally recognized avatar that shows across multiple platforms) by going to https://en.gravatar.com. You will need to make an account with WordPress using your registration email and then add your profile picture to that. If you already have a WordPress account for that email, dribdat will use that image.
- Seeing who is working on which challenge. In order to see the other participants, FIRST go to the menu and CLICK ON . Scroll to the VERY BOTTOM of the page and then click on (to the right above the clock).
- These are participants who have already joined projects. Clicking on a participant’s name brick will lead you to their full profile, including the challenges they are working on.
At a hackathon, it is important to be able to recognize in a short time how we can help each other solve a challenge. Profiles are shorthand for this process.
The risk is that when we pre-assign roles, we fail to see the potential lurking in the less obvious and more outlandish possibilities. Keep both these things in mind when defining yourself and others.
Starting a challenge team (Champions)
The challenges for this hackathon have already been created and the teams started. Yet someone has a new idea, and wants to share it spontaneously. If open challenges are allowed (administrators can disable creating new projects), you can add a new project as above. Sometimes two challenges are combined into one, or multiple teams work from the same challenge as a basis. Then their project should reference the original challenge(s). Continue in the next section about exploring and joining a team.
Joining a challenge team (all Participants)
- Exploring the challenges. In order to explore the challenges, using the email you registered with, go to the menu and click on . These are challenges you can join for this hackathon. You can click on the challenge tiles to read about them.
- The Contact button for challenges looks like this and is located at the bottom of each dribdat challenge page. It may link to a channel (on Slack, Mattermost, Microsoft Teams, etc.) in which the challenge team can communicate with each other and exchange information and ideas. If this link is missing, you can find it in, for example, Microsoft Teams by right-clicking on the name of your channel and choosing the bottom option "Get link to channel".
- The Source button for challenges looks like this and is located at the bottom of each Dribdat challenge page. It links to your repository for code and data on github or elsewhere.
- In order to join a challenge, click on the challenge tile you are interested in. On the page describing the challenge, look in the upper right corner and click on . After joining, you can also then access that challenge and its details from your profile page. The challenge will now appear below in your profile, and your profile brick will appear on the dribdat participants page.
- If you wish to leave a challenge, you just click on the grey star in the bar .
The goal is having a flexible process to find and join a challenge team which aligns with your interest and skills.
A risk is not distributing participant capabilities where they are most needed or can be best deployed. Another risk is that people choose to do the things they are used to doing instead of trying something slightly different. People tend to be less creative when they are doing what they are used to doing.
Documenting a challenge project (all Participants)
- Filling in a challenge project page. In order to fill in or update your challenge page, using the email you registered with, go to the menu and click on . Alternately, you can quickly access the challenge you have joined from your profile.
- Click on the grey Edit button of the bar . Scroll down and fill out the blanks with project information. In "Contact" you can provide the link to your challenge's chat channel. In "Source" you can provide the link to your repository of code and data in github.
- Don't forget to hit at the very bottom of the page!
- All participants should regularly report their progress in a challenge so that others know what work is being done. Click on the green Post button of the bar. Scroll down and document your progress stage and what you are working on now.
- Don't forget to hit at the very bottom of the page!
It is important to have and update a central page with links to all the resources and information which the whole team can access quickly. It’s also important for coordination and for motivation to let others know concretely how the challenge project is progressing by posting often.
The risk is of becoming more absorbed with a show of progress than with the nuts and bolts of tracking and organizing what you are accomplishing.
Additional Information about Hackathons
The word hackathon is a combination of the words “hacking” and “marathon”. A Hackathon is an event which includes creative problem solving, often involving technology, within a short-term time frame centered around challenges on a specific topic or from a specific community done by fluid teams of people bringing different skills and perspectives to the issue. Hackathons are held by large multinationals and small non-profit groups alike. Hackathon collaborations often result in useful apps or other tools that help solve everyday problems as well as more esoteric problems. You can find more guidelines at the literature we compiled here: https://github.com/dribdat/awesome-hackathon#guides
Dribdat is a home platform used for the collaboration and data generated during a hackathon. The interactions and information are coordinated and stored through dribdat, which stands for "driven by data". The thumbs up in the logo represents how data can be used as a positive driving factor in addressing challenges. On the website the in the upper left is the home button. The creators of Dribdat (see dribd.at) made the software open-source, which means it is free for anyone to use it, and anyone can make a modified version to use in a different way. It's a flexible and creative tool for finding flexible and creative solutions. It depends on contributions https://opencollective.com/dribdat).
The Hack4SocialGood is an example of a hackathon on dribdat https://bd.hack4socialgood.ch. The buttons on dribdat lead to the external page about the event which is on the website of the host, the Berner Fachhochschule. The tab leads to an external page hosting our community forum which supports open data.
Dribdat is built around Web-friendly standards like Schema.org and Frictionless Data, and features a collection of bootstraps (authentication, file uploading, data import/export, etc.), useful workflows (announce an event - publish challenges - form teams - develop projects) and channels (social media sharing, digital signage, summary reports).
We use it to run activities based on open licenses (Creative Commons, Open Data Commons, etc.), community-developed templates (School of Data Pipeline), and governance instruments (Hack Code of Conduct). It is the official platform of Opendata.ch - Swiss chapter of Open Knowledge, and has been used to host dozens of events in the Swiss open data, open hardware, and open source community.
Dribdat strives in itself to be an example of a hackable project that can be adapted to other needs and causes. It can be used just as a Python-powered backend to aggregate data from GitHub, GitLab and other repositories and fileshares in one place.
There is a Vue.js app and a Node.js chatbot available as alternatives to the default Bootstrap user interface, easily customized with a bit of CSS. You can customize the layout and presets in an admin panel, or with YAML configuration files.
You can find out how to contribute to the project as a developer here: https://docs.dribdat.cc/contribute
Setting up a hackathon is a challenge by itself. Many different things need to be considered. Let's put best practices and FAQ in a guide!
Here is a document started by Oleg & the Hack4SocialGood team - comments welcome: 📄 Handbook for Hackathons powered by dribdat
Joined the team