Winter Hackathon 2018

Just before Christmas (and our department & company parties) we completed one of our bi-annual hackathons. I’ve discussed before what we are looking for from a hack event, however we do push for more potential business usefulness for our Winter events and that’s reflected in the projects that were chosen. We’ve been considering Twilio for a while for our Customer Service department and so there are two projects here exploring the capabilities of their service.

This event’s projects

  • Twilio project #1 – Automatic order status – by checking the incoming phone number we can alert the customer to the state of any of their most recent orders. This was completed and we are looking into how to add it to the current customer flow.
  • Twilio project #2 – payment gateway integration. In order to avoid PCI-DSS complications we wondered if we could hand a call over to their payment line and receive a payment notification through Stripe. Although we got some way with integrating Stripe & Twilio, we didn’t get as far as making this an interactive event from a customer service user perspective – plenty more work to be done but the demo has helped show the business teams what we could do if this was prioritized.
  • Stock prediction through Monte Carlo simulations. We took some of our in-house tools that require user intelligence to predict when stock needs to arrive and “jiggled” their data to see whether there any risks to product lines. Within 3 days we had a workable prototype for some stock lines – our next step is to show the business teams to see if there is any desire to take it further.
  • Generic aggregator tool. Could we produce a tool to help provide a more generic reporting interface for our data warehouse? In short, no!
  • Raspberry Pi VPN gateway. Can we provide a secure network solution in any remote location? Apparently yes – using a Raspberry Pi and OpenVPN remote PCs can appear to be on our office network. We had other operational problems with this though and so are unlikely to roll it out.
  • Selenium Grid on Azure. We felt that our web team QA spent a little too much time watching tests run and thought we could speed this up a little by using Selenium Grid and clients in Azure. This broadly worked, but it was plagued by timeout issues that may or may not be down to our test suite. We weren’t able to immediately use this after 3 days of build but we’ll be coming back to it this year.

Useful tools

Ngrok allowed us to expose local development servers to the wider internet in order to test our integrations (for e.g. Twilio needs to call your server upon an incoming call). We’ve used this before in our hack events but we thought it was worth calling out and just pointing out the specific command that ensures it works as expected.

.\ngrok.exe http -host-header=rewrite localhost:{port}

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s