A little about me
I am 30 years old, and I have been programming in education, professionally and for fun for around 13 years now.

I am currently working as a Software Developer at Intellitrans. I am working primarily in Java using JSP served by a WildFly server to maintain and update the CarrierPoint TMS solution. I have also worked with Liferay to maintain a warehouse management system used across the world. I have been working in this position since June 2019.

My previous job was as a Technical Service Assistant at Durite, from December 2016 until May 2019 where I was made Assistant Technical Manager. While this was not a programming related job, I managed to use some of my computing skills in the CCTV segment, becoming the main point of call for all things CCTV and live-streaming.

While at university, I worked for a year at Netcall Telecom in 2014-2015, which mainly involved working with JavaScript (NodeJS and Angular), PHP and C++.

I have been involved in the University of Hertfordshire's RoboCup team, Bold Hearts, and more recently, the universities cyber security team, Netizens.
Programming languages I have experience in
About this site
When it comes to programming, my strengths are solving difficult problems and simplifying them into smaller, easier to understand problems and learning new techniques to do things.

A great example of this is this website you're on right now. I originally created it while on my placement at university. I was part of a team re-writing an old C++ application into a new AngularJS web application, so I had quite a bit of experience using AngularJS. I decided I wanted a website where I could set up the HTML/CSS once, and for any updates I could edit the JS code.

Early last year I got married, and I had been interested in creating a project using Elixir, so I decided to use the oppurtunity to create our own RSVP site in Elixir using the Phoenix framework, and host it on an AWS server with a postgresql database. This was a lot easier and more fun than I had expected, so I thought about updating this personal website to something similar, after all it was still using AngualrJS 1.5.0 which was officially unsopported as of Januray 2022!

After some thorough thought, I decided I would update to something newer and different to AngularJS, but I decided against using Elixir/Phoenix as the backend because I wanted to keep this as a static site hosted in an Amazon s3 bucket. I spent some time looking at multiple new web frameworks, looking for something that wasn't too complicated and gave me the features I want, without being too overcomplicated. Eventually I settled on Svelte


The main feature of Svelte that I've leant on heavily is components. I've created custom components for everything - the header bar, sidebar, projects, programming languages are all components. This seems to work well for me, because I can organise the codebase nicely so I can reduce repetitiveness and make it easy to (for example) add a new language to the section above.

The build process is also simpler, but more involved than it used to be with AngularJS. The old way I had set up everything using Grunt so I had three commands I could run. The first one would start a local server with livereload enabled, monitor for any changes and refresh the page. The second one would do a full build (minifying JS, compressing images etc.) so I could test it locally, and the final command would upload any changed files to the Amazon S3 bucket that stores my site.

The new process involves only having two commands, one of them starts a local test server with livereload, and the other builds the site and places all needed files into a seperate directory, which I manually upload to the S3 bucket.

I was using the Angular Material design components in the old site and I liked the look, so I decided to copy it. I like the idea of having as little redundant CSS as possible (I know it doesn't actually make any difference but it feels nicer to me) so I created the look and feel from scratch. I know UI design is one of my weaknesses, but I think I did an OK job.

If you're interested, a copy of the old AngularJS site is available here. There's no guarantees it will still be working, as it still relies on AngularJS 1.5.0 which is no longer supported, so may break at any time.