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:
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
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.
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
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.
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.
Steps
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.
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
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.
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
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.
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