Hi! I'm James

Welcome.  Come take a look at what I get up to...

Things I've Made

Ballot Box

A data collection tool for criminology research

For my dissertation I was tasked with creating a web tool to help automate the process of collecting data from police officers around the globe via questioners with bespoke test task for a criminology researchers research papers. As the project developed the ability to store and replay a participants mouse movement to better understand a there through process when completing test questions. Written in Laravel, its a simple but well polished application.

  • Web Link

    Create an account and get going

  • Github

Sticker Store

A Store for the buying and creation of stickers

A market place the buying and selling sticker, created for a university project where there goal was to implement as many APIs as possible.

  • Web Link

    Take a look around, dont actually spend any money tho...

  • Github

    Coming Soon

End to End Chat

Diffie–Hellman key exchange

With UK home secretary Amber Rudd proposing restrictions to messaging apps use of end to end encryption I decided to see how easy to would be build my own or at least get as far as I could in 24 hours, below is the result of a day’s work. I would not recommend you use this to transmit state secrets and am aware of the serval major flaws with implementation but bear in mind that at start of this project I had only had the name of the mechanism used for key exchange and had never used javas implantation of web sockets.

  • Server

    Start me first.

  • Client

    Run two clients,  copy the ID from one to the other and your away.

Z80 Single Board Computer

Just for fun, I built my own Z80 based single board computers on a piece of veroboard. Program is in BASIC or Z80 assembly cross compiled from a x86 PC

ST App

An Android application to make the university of Huddersfield job system usable on mobile

ST Calendar

An app for copping jobs from the university of huddersfield job systems to my own personal calendar.

The Adventurers Guild

An ambitious online “Final Fantasy” style battle game, this project was a collaborative effort with my involvement mainly on the backend, android application, and game logic for the desktop game. The game engine itself was written from the ground up using no external libraries by a talented team member.

Goto Site

Flight Tracker

My second-year C++ assignment, a prototype flight data recording system. As an additional feature, I build the flight tracker website to display information about the registered aircraft on top of a google map.


An online android cocktail recipe forum , this was the artifact to come from the first year team project. Users can submit drinks that, once moderated, can be searched and rated by other users.

Older Projects

Things I made pre 2015, the probably dont work any more but you can give them a try.


A web toy that encrypts messages using the Vigenere cipher system



A dating site where you match based on a users bio and whether or not they're nearby.


20 lines

Can you remove the last symbol and beat the computer in this game of logic?



Talk to random people for 15 minutes

Start Talking


A school laboratory booking system.

Go To Site

yarbsemaj games

A google site with my 1st foray into programing.

Go To Site

edj help

A blog to help student with their schoolwork.

Go To Site

More project on GitHub

Other Work

Automated Microcarrier Detection

Summer Internship

This is work I completed in the sumer. I was tasked with researching and implementing a way to detect microcarriers for an active research project into the industrial gowth of steam cells.

  • Report

    The final report I submitted at the end of my internship

Enterprise challenge

Five days from brief to prototype

As part of my second year at university, the computing and engineering department came together to help a local health care provider overcome a real problem that effects many hospital patients, pressure ulcers. I was assigned to solving this problem with two other students studying electronic engineering and mechanical engineering respectively. Over a challenging week, we produced a working prototype for use either in hospital or at home. If movement has not been detected from a patients bed for a period of time an alert is sent to the patent or their carers smart phone. In hospitals each patient would be linked to a central nurses computer with the notification appearing there.

This was achieved using a pressure sensor which is connected via a potential divider to the Raspberry Pi. On the Pi a python script is constantly polling this sensor looking for a change in its state. When this change is detected a post request is sent to a PHP script. Once received this script updates the current time for that devices database entery.

On the other side, a service within the Android App poles the server receiving its data in JSON form. After a period of inactivity from the Raspberry Pi the app will revive a JSON response with an “Alert” flag of true, at this point a notification is initiated.