Side projects separate from my professional contracting

Rolltec Wearable for Martial Artists

Description: I built the prototype of this wearable for grappling martial artists between October 2015 and April 2016. It consists of:

  1. The hardware: the shirt and the sensors (accelerometer and gyroscope, made by the great guys at mbient lab)
  2. An Android mobile app which streams data from the sensors
  3. A Python (Flask) server which conducts machine learning classification on the data to give users insights into their training.

I am no longer actively developing this project. I have open sourced all code and data on my github. A full academic write up of the algorithms used can be found here on my blog. Unfortunately, attempts to crowdfund the project were unsuccessful. You can see the kickstarter campaign here.

This project was challenging and rewarding for a number of reasons. The data science classification required a lot of exploration of scikit-learn, as well as other Python machine learning libraries such as Hidden Markov Models with hmmlearn. The data processing required extensive use of pandas, as well as numpy, matplotlib and other libraries from the scientific Python stack. I also taught myself Android for the project.

Wearable Mobile App

Wearable Components

"Digital Grappling"

**Update** after 4 years of happy customers, I've retired this project

Description: This is a fully responsive, single page web application used by over 5000 martial artists to help them actively learn Brazilian Jiu-Jitsu when they are unable to train at the dojo. The application is a playable state diagram for the martial art, and required the creation of thousands of move tree schematics in order to create a realistic experience. The player is incentivised through game stats, which track their ability to hit certain moves and promotes them to higher virtual belt rankings accordingly.

Technologies used: Node.js (with express.js), mongodb, backbone.js, bootstrap

My Contribution: I did all development across the stack. The Jiu-Jitsu move sequences were created by Roger Gracie blackbelt Nic Gregoriades. The design concept is by the very talented Katie Mihailovits

Live URL: digitalgrappling.com (no longer active, email me for access)

Here's what people say about it on reddit

Desktop Site

Mobile Site

Bupa.co.uk: Quote and Buy Application


Work from my time as the front-end developer in Bupa's UK web scrum. During my time there, we completely reworked the customer journey for the flagship "Bupa by You" quote and buy heath insurance application. The work we did here improved online conversions by 30%.

Technologies used: HTML5, JQuery</a>

My Contribution: I was responsible for the front-end of the site. The backend (written in Java) was taken care of by a team of five developers, both onshore and offshore.

Live URL: Bupa Health Insurance

Stripe-Taxamo subscription integrations for Node.js


At the beginning of 2015, the EU introduced new VAT tax requirements for businesses selling digital products. The requirements are stringent and require two non-conflicting pieces of information (such as IP address and credit card details) to identify a customer's location so that the correct VAT tax can be applied to any purchases. I wrote an open source Node.js solution to help solve this problem for those who have Stripe subscription customers and are using the Taxamo platform.

Technologies used: Node.js (express.js), Stripe, Taxamo

Full write up: I have written a detailed post on both the problem and solution

Source code: Available here on github