About Me

As a Software Engineer, I specialize in full-stack development with JavaScript, React, and Next.JS, building features in back-end systems and CLI tools using Java, Python, and TypeScript.


I've had the opportunity to work on a variety of projects, from delivering new user interfaces and integrating third-party scripts to automating internal processes and improving platform functionalities.


While my day-to-day is filled with opportunities to develop using new and varying technologies, I found myself looking for a new creative challenge in my spare time, leading me to the development of my game using C# and Unity. I like to think this mirrors my passion for full-stack development, joining my love of design and programming skills.


Personal Projects

Github Profile

Project DDQ

Active

Developing a game in C#, focusing on 3D space and physics. Researching game design theory and project management, presen...

C#
Unity
Game Development
3D
Modelling
UI Design
Programming
A logo for the web extension "Elemental". Shows an icon resembling a package on the left and text reading "Elemental, Snapshot your content." on the right

Elemental

During my first quarter at THG, I saw a daily issue of losing our changes while creating style changes on our sites. To ...

Javascript
Chrome
Web Extensions
Local Storage
A logo for the app "Site Builder". Shows an icon resembling a letter "S" on the left and text reading "Site Builder" on the right

Sitebuilder

Full UI build delivered & maintianed during my time as part of THG Ingenuity's Site Autmation Team. Tackling full-stack ...

React
JS
TypeScript
Next.js
Storybook
Cypress.js
Docker
Sonarqube
CI / CD
Linting
Express.js
Styled Components
A logo for the app "Campus Chat". Shows text reading "Campus Chat" with a speech bubble filling the space of the bottom right.

Campus Chat

During my time at university, I developed a chat application in my spare time designed to connect prospective mentors an...

React
JS
Laravel
PHP
SQL
A logo for the app "Webcipe". Shows text reading "Webcipe" with a mobile phone showing the launcher icon of the app.

Webcipe

'Webcipe' (I'm very proud of the pun!) was my dissertation project. Seemingly a simple basis, a recipe app, the prospect...

React
JS
Laravel
PHP
SQL
Selenium Webdriver
PWA
Lighthouse
A11Y
A logo for the web extension "Tidy Tube". Shows an icon of stars on the right and text reading "Tidy Tube, version 1.0.0" on the left.

TidyTube

While using YouTube to take courses and view content related to my studies, I found myself becoming distracted with the ...

Javascript
Chrome
Web Extensions
Local Storage
A logo for the app "Quaker". Shows text reading "Quaker, The Questionnaire Maker".

Quaker

Built as part of my coursework, Quaker is a questionnaire maker designed to be used in carrying out primary research and...

JS
D3
Laravel
PHP
SQL
Selenium Webdriver
Blade Templating
A picture of Craig, the developer of this site. Underneath is the URL of this page.

This Portfolio

Built as a small example of a project as my personal project time has been dedicated to the game I am developing! It wou...

Next.js
TypeScript
React
Three.js
react-three-fiber
Tailwind
Framer Motion
Github Actions

Work Experience

  1. THG Ingenuity Logo

    Software Engineer @ THG Ingenuity

    • Delivered a new Site Creation tool UI using Next.JS, React, and TypeScript,integrating with our internal UI Libraries and adhering to the company design system. Introduced custom wrappers to handle library errors and documented the process. Ensured a minimum of 80% test coverage using Cypress.JS.
    • Part of the team that delivered platform migrations for Cult Beauty and Lookfantastic, rebuilding features from the old platform using React, TypeScript, and Next.JS.
    • Enhanced the platform's product sizing functionality by integrating third-party scripts and modifying our existing Java transformers for products to expose the necessary data.
    • Assisted in transitioning responsibilities to my previous team by supporting features and fixes on internal tools. These tools provided platform redirects and a front-end interface for our Site Configuration API, automating site setup and configuration for new clients using Angular and Java.
    • Maintained and improved our internal CLI tool to assist the implementation team with everyday tasks. Features include switching host file entries while testing sites in different environments, identifying unused site configurations, and adding new sites to shared JSON files distributed across the database, using Python, PyODBC, and Bash.
  2. THG Ingenuity Logo

    Graduate Front End Engineer @ THG Ingenuity

    • Collaborated with PMs and site content managers to deliver sites such as Creed, Endura, Speedo, and ZYN. Site delivery consisted of estimation, feature development, and UX and A11Y support post-release.