Hi, I'm Matt. I'm an 22 year old student who lives in the Channel Islands. I'm also a freelance website developer, website designer and software developer. Please scroll down to find out more about me and what I do.
not display at all.
What I do
I build bespoke websites and web applications alongside my studies, although I can also develop offline applications. I’ve got a passion for Node.js and WebGL, and I'm also interested in Machine Learning.
I enjoy writing sleek code and creating a slick user experience. I like exciting, crisp, standout pages which use all of the available screen real estate, I'm a big fan of low-poly art, and I'm certainly always open to fresh ideas.
Above all, I develop because I find it rewarding to make awesome apps that work well.
I'm currently studying Natural Sciences at Cambridge University, but I live in Guernsey (in the Channel Islands).
My interest in programming started with games - I enjoyed playing them, but preferred building them, so I took several free online computer science courses. I became especially interested in Website Design and Artificial Intelligence.
I love travelling - hiking trips, sports trips, walking the dog, whatever. I play the Alto Sax, I enjoy Target Shooting and Fencing. In summer 2015 I was lucky enough to compete in the Fencing Commonwealth Games in South Africa!
A responsive, functional winter wedding website featuring a customised Google Map, custom fonts, and a strong visual impression.
The website was specified to be simple and cheerful with an easy user interface for users of all abilities. It needed to be mobile friendly, so extra attention was paid to responsive design.
The couple had a significant amount of input into the look and feel of the site, so it really reflects their design, and matches the theme of the wedding (much of the design was based on various Pinterest boards - an effective
way to convey a theme).
A pretty huge website with a few very specific requirements
A substantial website for the Old Elizabethan Association (OEA), commissioned by Elizabeth College. Building the site had unique challenges as it needed to integrate with the BlackBaud® Software backend, as well
as meet some strict style requirements. This led to some interesting challenges.
The website features over 500 pages of information, a gallery which can be maintained and updated by members without prior technical knowledge, an event calendar, a simple online shop,
online registration and payment forms and a member directory.
This website has been modified since construction due changes to the GFA
My first website was built and constructed for the Guernsey Fencing Academy (GFA). The main feature of the site was an 'iCal' style timetabling application so that coaches can schedule one to one lessons and schedule training
sessions online. It also includes a messaging service so that users can send messages to their coaches and a club gallery.
This links to the club site - it changes on a weekly basis and I'm no longer running the club - who knows what you may find!
websites. The group are currently working together on the club website.
I constructed the website for Purple Armadillo; a Young Enterprise company which sold discount cards in Guernsey. The site featured a mailing list signup page and information about
the products of Purple Armadillo. As per the Young Enterprise rules, Purple Armadillo stopped trading in Late 2013, so the site is no longer available.
The classic game of tic tac toe, but played in any spatial dimension! This was my first WebGL application - it is a 3D representation of a Noughts and Crosses grid in any dimension. Works best in Chrome.
So, 2D looks normal, 3D looks normal (a cube), but a 4D grid is represented by three 3D grids (three Cubes) and a 5D grid is represented by nine 3D grids (i.e. three 4D grids).
For the 4D grid, each 3D grid represents one layer of the 4D grid. So, in the same way that we can represent a 3D grid (a cube) by using three 2D grids, one to represent each 'layer' of the 3D cube, we can use 3 3D grids to represent
a 4D grid. We can also use three 4D grids to represent a 5D grid, but 4D grids are themselves represented as three 3D grids, so the 5D grid ends up being represented as nine 3D grids.
As for playing the game in dimensions above three, the trick is to realise which positions are adjacent to other ones. You can win by having three in a row horizontally or diagonally across a 2D grid, horizontally, vertically
or diagonally across a 3D grid, or horizontally, vertically, diagonally or '4D-vertically' or '4D diagonally' across a 4D grid (or even higher if you're playing in higher dimensions!). The number of ways that you can win makes
blocking very hard (often impossible), so the game is more of a game with more players (press Q to change the settings (dimensions, players, colours etcetera).
The default game is 4D with gravity acting in one dimension only. This means that gravity will pull your pieces down to the lowest 3D slice of the board if you put them higher up, and is as if the 4D grid is placed 'flat' on the
floor in the 4D world. If you change the settings to have gravity acting in more than one dimension this is as if the 4D grid is placed on an edge, then it is as if it is balanced on a corner etc.
The application works best with WebGL, but it is built to work with HTML5 canvas if you don't have it, and is in beta. It requires a keyboard, and definitely works best on a modern browser such as Chrome. I will try to put a more
detailed explanation with screenshots up at some point. Do not try to render more dimensions than your computer can handle (Stay below ~10)!
This site is being heavily redesigned (release planned soon!) with a lot more low poly art and moving parts, because I like making them (and I think they look great!). Here's a procedural tree generation algorithm using WebGL through various stages
of development, some bits of which I hope to have as part of the new site! Feel free to take a look at the trees, trawl through the code, or whatever. Each time you refresh the page the trees should look different - the algorithm
generates them on the fly. Below is a nice example of a skyscape with some birds.
This site is undergoing a major redesign - ready soon!