Development Design

I am Matthew Evans: I pride myself on being a jack of all trades and a master of some. My primary interests are web development, design, technology, music and exploring unique, strange or innovative ideas.

Web Development & Design

I am skilled in HTML5, CSS/SASS/SCSS & Object-Oriented CSS, JavaScript (including node & gulp), and jQuery. Though I have experience with PHP, I, personally, prefer front-end development – that’s where all the fun’s at – and working with CMS back-ends like WordPress. I believe I have acquired an eye for good design, and strive to create a more beautiful web.

Mahlathini Development Foundation

I worked with the Mahlathini Development Foundation, a non-government organisation specialising in agricultural innovation in rural environments, in creating their website. The site features a fully-responsive design and is optimised for SEO (Search Engine Optimisation). It is built upon WordPress, using a custom theme which I built from scratch. The following languages were employed in this process:

  • PHP for the theme’s base.
  • SASS, a CSS pre-processor, for easy, scalable object-oriented BEM (Block Element Modifier) CSS design.
  • HTML5
  • JavaScript: primarily jQuery

The following tools were used in my workflow:

  • Gulp for automating processes such as pre-processing and minification of scripts.
  • Blender 3D & GIMP for logo design and the design & web-optimisation of some images.
  • Atom, an open-source code editor from GitHub.
  • WordPress as a CMS (Content Management System) back-end for managing the site.
  • FileZilla FTP for uploading and publishing the site and its updates.

 I am quite pleased with the way that the site turned out and have received a number of compliments regarding its design and quality.


For a competition a user hosted on MyBroadBand.co.za, I was tasked to create the front-end design of a landing page for SockGate: the free websocket to socket gateway. Front-end designed for SockGate

Personal Project: University of Pretoria Computer Science Website Redesign.

The University of Pretoria’s Department of Computer Science website looks like it was designed pre-2000: cos Tired of its disappointing appeal, I created a Google Chrome extension to alter the interface of the website to make it more attractive, as well as more accessible by rearranging some elements. The way it works is simple: the extension injects some JavaScript and CSS into the the DOM (Document Object Model) and changes some of the elements around, restructuring the underlying HTML using jQuery and then applying custom styles with the aforementioned CSS. You can see the homepage below: COSUP And the “Automarks” page:COSUPAutomarks You can download the extension here: COSUP

App & Game Development

Tuks Timetable (Android)

Download the App from the Google Play Store.

Tuks Timetable is an app I created to aid University of Pretoria students create timetables without clashes, then use that timetable in their academic life.

Tuks Timetable

The app features:

  • A timetable generator that lets you tell the app which modules you need to take and it will generate as many possible timetables as it can, giving you a choice of the layout of your week.
  • A daily timetable viewer: Normally, students seem to keep a screenshot of their timetable on their phones – the app provides a simple, colour-coded timetable as soon as you open it.
  • Integrated key dates: Key dates (such as timetable changes, public holidays, university events, etc.) are automatically used to make adjustments to your timetable, and are presented where necessary.
  • Automatic test dates: The app automatically finds tests based on the modules you provided and inserts them into your timetable.
  • Low battery usage: The app uses about as much battery as a web page, and uses an unnoticeable amount in the background.
  • Low data usage: Automatic timetable updates are not compulsory, and the app works offline (except for updating).


The basis of the app was that I was utterly incapable of creating my own timetable without losing my mind at the idea of how much better a program could do it.

I had previously created a desktop version of a timetable assistant for University of Pretoria students (you can read a bit about that here). The program did not generate timetables, nor was it available on mobile devices, nor was it designed for day-to-day use. My end goal was to make a mobile application which could be used on a day-to-day basis and provide useful information.

Due to my previous experience with web development, the app was created primarily using web technologies. This allows for the application to easily be made cross-platform.

I created a JSON REST API on my website to serve timetable, key dates and test information. The API’s back-end automatically scrapes the University of Pretoria’s public timetable/calendar/test dates information on a day to day basis, then alters the data for it to be more usable and stores that information into a database. The API was constructed using PHP and MySQL.

The mobile client was created using the Ionic 2 framework, a Typescript (JavaScript) framework built on top of Angular 2, which uses Apache Cordova to deliver apps driven by web technologies to multiple platforms.

The app took around two months to build over the December holidays. I am very chuffed with the outcome, and have been using it for my own personal timetable.


Unfortunately, due to the cost of publishing applications on certain platforms being so high, the app has not yet been released on any platforms other than Android. Hopefully, in future, I will release to other platforms, such as iOS and Windows.

Blind Maze (Android)

Blind Maze was an idea I had when doing a maze one day. I thought to myself “How on earth would a blind person do this?”

Blind Maze

So I thought that it would have to work with some form of physical walls so that you could feel each wall and detect the edge you can’t go through. One would have to have incredible spatial concepts in order to have some skill doing it.

So I wanted to make it into a game…

First up was maze generation. This was very difficultbut I managed to create a system which procedurally generates arrays representing a map in which each element either represents a wall or a path.

Blind Maze

Making the game from the perspective of blindness was easy enough; just a blank screen, but you cannot feel impact on a computer. So I decided to add vibration — a thud when you hit a wall, and a light tap when you walk down a path.

This was perfect, but there is no way somebody is going to have annoying vibrations playing in a quiet public place, so I added a square and a circle as indicators to show that the player has hit a wall or moved into an empty cell, respectively. 

Space Dumpster

Space Dumpster is a game I made for the BGMC 14 (Blender Game Making Competition #14). My entry came third.

The theme for the competition was N64 oldschool graphics. So I decided to make a low-poly space scroller game with incredibly retro graphics.

Here are some screenshots:

Space Dumpster game over screenSpace Dumpster Gameplay


deMOLEtion is a game I made for the Blender Game Making Challenge #21. My entry came a tied 5th in the competition.

You can find the BlenderArtists.org thread here.


The game is a mini arcade game centred around a ninja mole (you, the player) who attempts to stay alive, avoiding construction of buildings and the gassing of his home.

Development process included design, programming and music from scratch. I created custom GLSL shaders for any full-screen visual effects. Design was done using GIMP 2.0. Programming using Python 3. Music was performed by me using FL Studio 12.

The Artistic Side

I quite love art; being able to express oneself is one of the quintessential parts of what makes us distinguishable from animals. Visually representing an idea or data is, in my opinion, a very important part of being able to describe problems and highlight issues, as well as inspire creative solutions.

2D Digital Art

Art pieces I did for Matric 2015 Work from matric art project Work from matric art project

Graphic Design

Mahlathini Development Foundation (official) mahlathiniconstruction Mahlathini Organics (un-official) mockup-13 graphic

Music You'll Crave

On the Desktop & Around the Office

“IT” has always been one of my things for as long as I can remember. I find the troubleshooting experience thoroughly enjoyable and satisfying, and taking apart and assembling machinery is about as captivating as it can get.

Programming and Scripting

I am able to create small, useful programs using NodeJS and GitHub’s Electron framework, which allows me to build web-based applications made purely with Javascript, CSS and HTML5. My process for making these programs is simple:

  1. I see a need.
  2. I built a prototype to test whether the idea will be a waste of time or not.
  3. I built on that prototype until I am satisfied.
  4. I look for another need to fulfill.

Coding this site using Atom As an example: TuksTimeTable is a simple program I designed to help University of Pretoria students plan and adjust their timetables with ease. I noticed that many students were already using spreadsheet software to create timetables, reading the times out of their booklets and trying to find times which didn’t clash. TuksTimeTable My attempt at solving the issue employs the following features:

  • Update lecture times to meet the latest timetable information.
  • Detects if a clash will occur with a lecture group before adding it to the timetable.
  • Adds all of a group’s lecture times throughout the week in the correct time slots on the correct days with one click.
  • Custom time slots.
  • Easily remove either one or all lectures of a specific group with one click.
  • The ability to save to the cloud.
  • Conversion to image format to keep on cellphone.
  • And a few more.

PC Building & Repair

I am very capable of assembling, disassembling and upgrading computer hardware. I have built multiple computers for myself, friends and family, and upgraded and/or repaired them over time. Misty loving my PC Given the right parts, I can correctly assemble a computer and have it set up with Windows 7, 8.x or 10 and some basic programs installed (Thanks, Ninite!) in just a few hours. I am also able to determine the best computer build for the price, given a budget to work with.

Windows Troubleshooting

I have been using Microsoft Windows PCs since I was a child, and have dealt with and resolved many issues from networking issues to power & performance enhancements to virus eradication in all systems from Windows XP to Windows 10. BSoD? Not a problem.


I am able to set up a basic working networks, and have experience with router interfaces and Wi-Fi hotspot setup. I also have some minimal experience using pfSense. I am able to set up a Linux machine and create an intranet site using an Apache2 server and PHP. Obvious stock photography of networking is obvious

Microsoft Office & Writing

I am able to use Microsoft Office’s Word, Excel and PowerPoint 2013 and 2016 with ease. Born English-speaking, I am fluent in the language and am capable of detecting and fixing errors in speech and text. Using Microsoft Word