I worked for CPD for Teachers as a teacher trainer, a content creator and lead web developer. In my capacity as a content creator, I wrote a large number of tutorials, blog posts and worksheets explaining a wide variety of complex tasks. These were used in courses and lesson plans in primary and secondary schools across the country.
As a trainer, I travelled around the country teaching primary and secondary school teachers to use complex technologies in their classrooms. The technologies included everything from Python to MIT's App Inventor to the Raspberry Pi.
As lead web developer, I led a team to redevelop the company's website from the ground up, including a comprehensive booking system, a mass emailer, a backup system and a content management system. This role also involved managing their large database - which included dozens of trainers, thousands of users, tens of thousands of bookings and every school in England and a significant percentage of the schools in the United States.
For my third year games project, I worked as part of a team to develop a game we call Trenchmill. Trenchmill is a game which takes place in the trenches of World War I and allows you to move by running on a manual treadmill and shoot using a Wiimote. The game also makes use of a heart rate monitor, fundamentally changing the game to keep the player engaged and ensuring that all players are physically challenged.
My most important contribution to Trenchmill was interfacing between the game engine and the treadmill. Getting an accurate, low latency reading from the treadmill we were using proved to be very challenging; I tried a wide variety of different approaches, from using a camera and some computer vision to track the speed of some tape stuck to the belt of the treadmill, to using a computer mouse to tack the speed of the treadmill’s belt. Ultimately, I intercepted the cables from the treadmill’s (completely undocumented) inbuilt speed sensor and used a combination of a Raspberry Pi, an oscilloscope and a logic analyser to determine the format of the signal.
At the end of the project, I open-sourced the treadmill speed reader and made it available on GitHub.