GartenBot

GartenBot is a discord bot for organizing events, from recording decisions to querying data. We aim to automate organizing events and reduce the friction to zero.

Goal

  • Hackable, API-first, developer-oriented tools to quickly organize events. Focus on the fun stuff, not the boring logistics.

Platforms

  • Messenger Bot
    • Image-based Outputs
  • Discord Bot
  • Webapp
    • Natural Language Input for Setup
    • Command Palette
    • Checklist
      • Show which information is still missing or required.
    • Status Board (i.e. Food Ordering)
  • Command Line
  • API

Features

  • Auto Kickoff Event
    • Select, Prepare and Contact Venue Hosts, Food Providers and Accommodation Providers
    • Invite People
    • Event Sites: Meetup.com, EventPop, EventBrite, Facebook Event, Custom
    • Setup Contact Form: Call for Speakers, Call for Staffs
  • Generate Graphics and Posters
  • Auto Voting
    • Date Range
    • Food and Drinks
    • Venue
  • Bootstrap Database and Collaboration Tool
    • Airtable and Notion Templates
  • Criteria Match for Venue
    • i.e. Poom HQ handles 1 - 8 people.
  • Food Ordering Automation Via Puppeteer
  • Content Pipeline
  • MC/OD Role and Task Management

Event setup with natural date inputs.

/house setup "Hack the Mob" expecting 10 people on this Saturday, 11AM - 5PM.

  • Use expecting to specify numbers of people.
  • Use [in/on/at] [Natural Date] to specify natural date inputs.

Event setup with date ranges for voting.

/house setup "Hack the Mob" expecting 20 - 50 people between 10th to 24th April

  • Use between [X Date] to [Y Date] to denote date ranges for further voting.

Setup a standalone meeting.

/house setup a meeting "Hack the Mob Pre-Hack", expecting 10 people in the next 2 days

  • Use "setup a meeting" to use the "meeting" event template.

Setup a meeting for existing events.

/house setup meeting "Pre-Hack" for Hack the Mob, expecting 10 people in the next 2 days

  • Use for [Event Name] to setup a meeting

Event setup with definite venue.

/house setup "Hack Thai Performance Arts" at Chang Theatre.

  • Use at to specify a venue.

Event setup with uncertain dates but with set deadlines.

/house setup "Hack Thai Performance Arts" at Chang Theatre, expecting 50 people within the next 60 days.

  • Use within to specify a deadline.

Data Model

enum Template {
  EVENT
  MEETUP
  CAMP
  HACKATHON
  CONFERENCE
  MEETING
}
 
type Event {
  # Event Name (i.e. Hack the Mob)
  name: String!
 
  # Event Template
  template: Template!
 
  # Date and Time (i.e. 25-06-2021 18:00 - 21:00)
  date: Date | Range(Date, Date)
 
  # Event Capacity (i.e. 25 to 50 People)
  capacity: Int | Range(Int, Int)
 
  # Event Venue (i.e. Geeky Base)
  venue: Venue
 
  # Food Catering
  food: Food
 
  # Event Agenda
  agenda: Agenda
}

Sample Setup Command

Setup a meetup "Backend Wars" at Geeky Base on 25 April, 6PM to 9PM, expecting 25 to 50 People.

Query

event(name: "Backend Wars") {
  name
  template
  date {
    from
    to
  }
  venue {
    name
  }
  capacity {
    from
    to
  }
}

Response

{
  "name": "Backend Wars",
  "template": "meetup",
  "date": {
    "from": "2021-04-25 18:00",
    "to": "2021-04-25 21:00"
  },
  "venue": {
    "name": "Geeky Base"
  },
  "capacity": {
    "from": 25,
    "to": 50
  }
}
  • Alternative Names: HouseBot, OrgBot

#idea#project