Issue Ops Meet Event Management
Tags: event, management, issue, ops
Published: 2022-03-04 00:00:00

---
cover_image: 'https://zentered.co/images/articles/2022-03/events.jpeg'
date: '2022-03-04T00:00:00.000Z'
created_at: '2022-03-04T00:00:00.000Z'
edited_at: '2022-03-04T00:00:00.000Z'
crossposted_at: '2022-04-04T05:49:06.666Z'
---
<h2 data-reactroot="">Motivation</h2>
<p data-reactroot="">Events (meetups, conferences, talks, ...) are a crucial platform for people to
share information, collaborate, and grow. They help to make friends, get
condensed and focused information on a specific topic and learn new things. I
owe my entire career to events and the people I met along the way.</p>
<p data-reactroot="">In 2011 I had the opportunity to visit my first developer meetup
<a href="https://berlinjs.org/">BerlinJS</a>. I was new in the JavaScript world and really
loved the inclusivity and friendliness in that community. Right after going back
to Barcelona I founded <a href="https://barcelonajs.com">BarcelonaJS</a>. Since then a lot
has happened and I have been involved in many events and meetups, always trying
to find new ways to make the community better, more inclusive.</p>
<p data-reactroot="">Unfortunately the tools and infrastructure for event management have been very
centralized and restrictive. On meetup there is the &quot;organizer&quot; who is paying
for the group, and they&#x27;re the one responsive on what&#x27;s going on. While
traveling, I&#x27;ve seen groups with thousands of members but not a single event
(neither in person nor virtual), with some people trying desperately through the
comments or discussions to get people together.</p>
<p data-reactroot="">We&#x27;ve been looking for ways to make the event management more accessible and
decentralize the process. Making it easier for individual organizers by allowing
more people to collaborate in a community.</p>
<h2 data-reactroot="">The beginning of GitEvents</h2>
<img src="https://zentered.co//images/articles/2022-03/gitevents.svg" width="512" height="512" alt="GitEvents Logo" data-reactroot=""/>
<p data-reactroot=""><a href="https://github.com/gitevents/core/commit/d61dd9eb4ee715643fc21b7f6a1f9b0c7d1ef300">GitEvents was born in December 2014</a>
as a joint project between BarcelonaJS, Node.js Barcelona and the London Node
User Group (LNUG). As developers, we&#x27;re collaborating on code every day on
GitHub, so we thought it would be the perfect platform to also manage events
from there. Looking back, the tooling around it was terrible, but the best at
the time: a node.js server were GitHub Webhooks were sent to. A GitHub Issue
represented a talk for an event, a &quot;Milestone&quot; represented the upcoming events,
and &quot;talks&quot; were added to &quot;events&quot; by assigning the issues to milestones and
labeling them. We then created json files for each event with semantic
schema.org data, which we then used to generate a website.</p>
<h2 data-reactroot="">GitEvents Resurrections</h2>
<p data-reactroot="">Fast forward to December 2021, we&#x27;re back with a new version of GitEvents, as
nothing has improved (or got worse) in the event management space. The idea is
still the same: <strong>Issue-based event management</strong>. We&#x27;ve simplified the
architecture; no server is needed any more and no complicated webhook
configuration. Instead we&#x27;re using GitHub Actions to process issues and events
that happen on the repository. When the GitEvents Action is installed in a repo,
it can set up the required labels and issue templates with an easy setup script.
GitEvents runs with the permissions from a GitHub App, so no bot account is
needed, and it&#x27;s clearly visible what it does when it labels or comments on
issues. One of the main features, inspired by
<a href="http://github.com/steffen">Steffen</a>, is the &quot;auto invite&quot; of everyone who
interacts with the organization. And since it&#x27;s based on Open Source
Repositories on GitHub, everyone can add talks, event proposals etc. and a team
of organizers can moderate.</p>
<p data-reactroot="">We&#x27;ve started using GitEvents on the meetups we currently co-organize, such as
<a href="https://cyprusjs.org">CyprusJS</a> and the
<a href="https://cdc.cy">Cyprus Developer Community</a>. We&#x27;d love to hear from you if you
have any feedback or ideas for improvements. And we&#x27;re happy to help you set up
GitEvents for your own meetup.</p>
<h3 data-reactroot="">GitEvents Features</h3>
<ul data-reactroot="">
<li>Auto-invite everyone who interacts with the GitHub organization, be it a
comment, issue or discussion. This helps to create an inclusive space and
makes everyone feel welcome</li>
<li>creation of the required labels and templates to run a meetup, inspired by
popular meetups like BerlinJS, BarcelonaJS etc.</li>
<li>Code of Conduct template and consent check for events, talks, sponsors,
attendees, organizers, etc.</li>
<li>iCalendar export of events as <code>.ics</code> file in the same repository, which users
can subscribe to in their calendars</li>
</ul>
<h3 data-reactroot="">GitEvents Roadmap</h3>
<ul data-reactroot="">
<li>More modular/flexible approach for &#x27;auto invite&#x27;, issue management, ics
generation etc.</li>
<li>Add atom/xml/json feeds for events</li>
<li>Discord integration</li>
<li>Snippets to copy&amp;paste the event schedule to other websites</li>
<li>Simplify the event/talk relationship and connect everything properly</li>
<li>Add a parser for GitHub Issue Forms instead of relying markdown frontmatter</li>
<li>Much more.</li>
</ul>
<h2 data-reactroot="">Conclusion</h2>
<p data-reactroot="">We&#x27;re just getting started (in-the-middle-but-somewhat-post-pandemic?), but it
really helps getting people together and involve everyone in the process. Events
are a great way to get people together either virtual or in real life, and we&#x27;re
excited to see what you can do with it.</p>
<ul data-reactroot="">
<li>http://github.com/gitevents</li>
<li>https://gitevents.org</li>
</ul>

We'd love to [hear your feedback](https://github.com/zentered/feedback/discussions/3)!