Published using Google Docs
Handbook for Hackathons powered by Dribdat
Updated automatically every 5 minutes

GitHub/ Dribdat/ Handbook

Handbook
for Hackathons powered by dribdat


May 2023

AUDIENCE

Organizers

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.

Champions

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.

Participants

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.

Maintainers

Anyone who is installing dribdat, contributing to support software and online platforms.


CONTENTS

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:

  1. Announcing Challenges - Everyone
  2. Defining a profile role - Participants, Champions
  3. Starting a challenge team - Champions
  4. Joining a challenge team - Participants
  5. Documenting a project - Participants
  6. Providing feedback - Participants
  7. Additional Information for Maintainers
  8. Further references


Navigating through challenges (Everyone)

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. This is covered in the User Guide.

On the website the  in the upper left is the home button, with which you can always go back to the list of all the events on the platform.

The Hack4SocialGood is an example of a hackathon on dribdat https://bd.hack4socialgood.ch:  The Information buttons on dribdat lead to the external page about the event which is on the website of the host (in this case, the Bern University of Applied Sciences).

The Community tab leads to an external page hosting our community forum.

Once you have installed dribdat and created your first Hackathon - or received access to a dribdat site - the prominent Announce challenge button leads to a form which can be used to document each proposal.

Steps

  1. Log into your dribdat instance with an administrator account.
  2. Create your first event on the home page, or use the Admin backend
  3. Optionally edit the “Getting started” content to include pertinent information
  4. Share the link to the new event page with potential Champions of the event
  5. Check in on their progress, and support them to collect details, slides, data, etc.

Goals

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.

Risks

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.

Steps

  1. 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
  2. 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.
  3. 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).
  4. Don't forget to scroll to the bottom and hit when finished!
  5. 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.
  6. 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).
  7. 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.

Goals

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.

Risks

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)

Steps

  1. 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.
  2. 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".

 

  1. 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.
  2. 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.
  3. If you wish to leave a challenge, you just click on the grey star in the bar .

Goals

The goal is having a flexible process to find and join a challenge team which aligns with your interest and skills.

Risks

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)

You can either use the Pitch editor on dribdat, which supports Markdown formatting and has an editor to help you do this. This editor is wiki-like, in that every revision of the content is saved, but only one person should edit this at a time.

Alternatively, you can use a collaborative real-time editor like Etherpad or CodiMD to work on your project documentation together with your team. Try putting the URL into the Demo/Presentation link as an easy way to bring everyone together.

It is also possible to use an externally hosted document or code repository (“README”) to document your project. We currently support DokuWiki, Google Docs, GitHub, GitLab, Bitbucket and Codeberg - and more sites are coming soon! Every time you write a Post the content will be refreshed, and you can also find a Sync button at the bottom of your project page to bring in the latest content.

Steps

  1. 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.
  2. Click on the 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.
  3. Don't forget to hit  at the very bottom of the page!
  4. All participants should regularly report their progress in a challenge so that others know what work is being done.  Click on the ost button of the bar. Scroll down and document your progress stage and what you are working on now.
  5. Don't forget to hit  at the very bottom of the page!

Goals

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.

Risks

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: dribdat/awesome-hackathon

How does dribdat help run your hackathon?

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.

The maintainers of Dribdat 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.

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.


Further references

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 (Backboard) and a Node.js chatbot (Dridbot) 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: dribdat.cc/contribute

You can follow and support the project financially at opencollective.com/dribdat

If you have gotten this far and the Handbook still has not provided you with a tip, please contact the maintainers through GitHub issues or by e-mail at dribdat@datalets.ch