Ok, so this isn’t really a meet the team post, but we do like our IoT hack projects at ProdPad, and we could not be prouder of our little digital cat, Neko.
Neko was created using a color-changing nightlight in the form of a cat, a Slack bot and a Raspberry Pi. Its job is to notify the team of the status of the latest deploy.
To save us time and brainpower in monitoring builds we brought in Neko to help bring to our attention to the completion and outcome of our various deployments. As well as demonstrating a constant positive attitude to the task at hand with his contented smile and subtle glow (ProdPad blue), Neko fades to colors representative of certain deployment environments before fading intermittently to a green or red dependent on the outcome of various tests that the deployment has run.
Alongside this, Neko gives a simple announcement of what has just occurred in layman’s terms to a Slack channel that includes the whole team.
Neko offers a more tangible way of notifying us when deployments are complete and of their status. It brings us back into the room for a second and also means we have one less window on our screen to concentrate on. In a world where we’re surrounded by screens, it’s almost necessary to provide more real-world interactions to demote the tunnel vision that inherently comes with working with screens all day.
Behind the Tech
The tech behind Neko is innovative but simple. A Python program sitting on a Raspberry Pi runs a simple Slackbot that listens in to particular channels and has the ability to parse messages to understand what’s going on in terms of builds and deployments.
The idea of Neko initially was to replace the need for a human to translate the technical information the developers receive through Slack into more meaningful information that our People Ops team can understand.
The Python program responds to particular information by, firstly announcing in layman terms what is going on – e.g. “ProdPad has just deployed to a staging environment!” – and secondly, flashing a sequence of colors to indicate which developer’s build is in question, which environment was deployed to, and the status of the build.
The physical light of Neko is driven via a simple library that controls a set of LEDs inside Neko.
Each parsed message from Slack drives a different set of colours and means the whole team can be notified “in real life” when a build goes well. It’s like a little disco every time we deploy!