This article is written for interview / documentation purposes. If you have any questions about the content please contact me.


The MPL (My Performance Locker) project started around January 2015 and stopped at the end of November 2016.

MPL is a service for educational bodies / sport coaches that help their students learn by giving the coach the necessary tools to give appropriate feedback. The software records student attendance, remarks on student performance, enables the coach to record student techniques. Young students have their account supervised by their parents, the app enables direct communication with parents.

The goal was to license the software to individual coaches and schools in exchange for monthly fees.


The software has been built from ground up with Obj-c and Swift for the iOS app, node.js for the API server and AngularJS as the website framework. The video is transcoded using ffmpeg in conjunction with AWS services. The graphs are built with Highcharts. This works by embedding a webview on iOS.


The design sketches were provided by the client.

App screenshots

The app can be fully offline. Most of the data required by the app is downloaded in bulk as a bundled package to be queried by the app at any time. Updates and new data are queued for when the user has internet. This has worked very well, but is prone to weird issues when data is rejected by the API.

Through the app, students can view their progress and respond to coach comments

Coaches can record student performance, record attendance of their classes, write reports ...

video coming


The website is mainly used for coach administrative actions, like setting up data types, classes, inviting users and colleagues.