Map Switcher

I wanted a browser extension which would allow me to jump between many different online mapping services, displaying the same location and routing directions. So I made Map Switcher.

Initially it's built for the Chrome browser, but Firefox and Edge versions are planned.

You can get the latest released version on the Chrome web store and get the source from the GitHub repository.


The Tesitoo project is creating a custom web and mobile platform which will allow local rural communities in the Gambia to sell their produce direct to customers, achieving a fairer price for the farmers by cutting out middlemen.

I am currently the server-side lead engineer. I personally designed and implemented most of the core REST API being used by the mobile app.

The project is initiated by The WIFE Project, with volunteers co-ordinated by the Social Coder organisation, and the team works remotely following an agile methodology.

It is still in development, but we do already have a site running at The GitHub project page is also available.

Google Maps Data Parameter Parser

I produced this JavaScript library to parse the 'Protocol Buffer' format data parameter from canonical Google Maps links, which hold such details as routes, map pins, search locations and streetview photograph locations.

Available from its GitHub repository.


I implemented the Ramer–Douglas–Peucker algorithm for polyline simplification in PHP.

Source code, along with a pictorial example, can be found on the GitHub repository.

Cliché Finder

This is a project in the early stages of development to enable users to search for clichés and other over-used phrases in written text. It should be helpful for writers to identify unoriginal passages of writing.

Existing websites and tools attempt to do this, but with very little sophistication, basically doing a simple text search.

My aim is to at least perform regular expression searches, and potentially eventually to use some form of natural language understanding or machine learning to search in a more intelligent way.

I'm building it using Laravel (PHP, MySQL). The GitHub repository contains the work in progress.