Github Realtime Relay

Building realtime apps on top of GitHub is kind of a pain because GitHub only provides a plain HTTP API to it’s public events. This is why I built the GitHub Realtime Relay (GHRR) which polls all public events and then relays them directly via websockets. This is probably the simplest way to create a realtime application on top of GitHub.

Screenshot of GHRR app

Head over to GitHub for instructions how to use or continue reading.

Usage Example

To get started all you need is an HTML file. We pull in the client, listen for push events and append them to a list.

<!DOCTYPE html>
<html lang="en">
    <meta charset="utf-8">
    <title>Github Events</title>
    <script src=""></script>
      var url = '';
      var socket = io(url);
      socket.on('pushevent', function(event) {
        var logItem = '<li>' + + 'pushed code to ' + + '</li>';
        document.getElementById("eventlog").innerHTML += logItem;
    <ul id="eventlog"></ul>

Screenshot of static website listening on GHRR socket

And that’s it. Because we support CORS you are able to access the public websocket from anywhere.