Download CV

George Campbell

Software Engineer



Hi, I'm George. I love what I do and do what I love. From creating interactive visualisers such as and to websites such as Kirk's portfolio which won several SOTD awards.

Providing delightful experiences to real people through the digital medium. The art of coding, and its practical application, is what moves me to do what I do.

I'm highly capable of web development, adaptable and consistent.


JavaScript, ES6+, TypeScript

This is the ace up my sleeve.

Fluent in JavaScript/TypeScript, I am extremelly confident working with these languages.

React.js, Redux, state-management

React solves the problem of UI for SPAs which is why I love it. No messing around with the History API, it gets the job done. React with JSX is what I am most confident in for developing UIs.

I'm experienced with Redux and several other state management technologies. I prefer low-boilerplate solutions such as React context the most.

Node.js and Express.js

As part of a MERN stack, this can be a great choice. I've learnt a lot about back-end development by working with these technologies.

Styled components, UI/UX and aesthetics.

Styled components solved the problem of CSS-in-JS in the best way and I love using it.

Design and aesthetics is something I realised I needed to learn ever since the days of my first "programmer art" when I started learning software development.

Next.js + Tailwind

Next.js being my favourite react framework of choice, I'm highly confident using this tech for full-stack development.

I also have fallen in love with Tailwind for the styling.


Three.js and GLSL

My first Three.js project was the beginning of my journey into 3D for the web and shader languages.

MongoDB and mongoose

A NoSQL solution to databases, using these has taught me the fundamentals.


GraphQL is an amazing alternative to REST for client-server communication. Only the necessary data is requested and received.

Automated testing

I have experience with Mocha, Jest, Cypress, React Testing Library for writing Unit, Integration and E2E tests.

Miscellaneous skills

Here is a list of some other technical skills I have or have had a fair bit of experience with:

  • Git
    • I use this daily both for professional and personal projects.
  • Amazon Web Services (AWS)
    • For hosting and as an email provider, AWS has excellent services that I love to utilize.
    • Using EC2 to host servers on Ubuntu.
    • Using the S3 API to store assets.
    • Setting up domain names using Route 53.
  • Apache Cordova
    • I used Cordova for one of my first JavaScript projects to make apps for mobile devices.
  • Stripe
    • I learnt how to implement a Stripe payment solution a few years ago.

Work history

TravelLocal - Frontend engineerMarch 2023 - November 2023

I solved many varied problems at TravelLocal. I communicated with the designer to reduce ambiguities and bring their vision to life. The main tech stack was a headless Wordpress + ACF CMS with GraphQL and Next.js. We used storybook to visualise the UI components we built. We used i18n with Locize to translate content. We used Github Actions for the CI/CD pipeline which included automated tests.

DRPG October 2020 - August 2022

DRPG has been a delight to work for, with projects ranging from a beautiful 3D winter wonderland celebrating 40 years of DRPG, to the massively successful Jaguar C-Type customiser which you can play with here:

Freelancing - Web-based 3D visual experiencesApril 2020 - October 2020

Developing 3D and WebGL solutions for various clients on a freelance basis. Working closely with the client I bring their project from an idea into a reality. Creating visual experiences in the browser making it simple for the end user. For example, I made which utilises WebGL to make Kirk's portfolio stand out.

Zengenti Ltd. April 2019 - 2020
Ludlow, UK

Here I worked diligently in squads of designers and developers to produce elegant yet functional websites for Universities and councils. We used React.js for website development and an Angular based CMS.

In this role I also trained a less experienced developer, to help them become a self sufficient one, with the ability to solve technical problems independently.

In addition to this, I wrote novel internal documentation for processes such as setting up Node.js servers for production, helping the company move towards full-stack JavaScript.

Express KCSJune 2018 - April 2019
Milton Keynes, UK

This was my first time working in a small team of designers and developers, where I also learnt how to use JIRA and Git for daily use.

The main technology we used was React.js and Node.js to develop the product. I also started learning about and writing automated tests.

I also implemented a modular i18n solution into the React codebase, using Locize so that translators could do their job without having to code.

Click Together Ltd.February - March 2018

Making use of the emergence of the HTML5 History API and CSS3 animations, I developed a lightweight Single Page Application (SPA) showcasing one of their apps, giving a blazing fast and sleek experience.

Rudolf Greiff - SanobizJan 2016 - Feb 2017

Over the period of a year, involving 2 separate contracts, I worked closely with the client to provide excellent bespoke software to solve their specific problems.

This included a feature dense, offline-first HTML5 SPA for their business clients, and a data processing application for doctors which digitized and automated certain tasks of this vital role, meaning an improvement in their healthcare and therefore a real-world impact.


Jaguar C-Type Visualiser

Configure your own classic c-type jaguar car.

Customise the inside and the outside.

This was a project I built whilst working at DRPG. There was another developer who helped but I built the core functionality.

It uses variable dimensions images, saving data and loading times whilst providing high clarity visualisations of the car up to 4K in resolution.

Kirk Whayman - Design Director - Portfolio

A beautiful visual interactive portfolio developed by George Campbell and designed by Kirk Whayman. A modern website developed with Next.js, Three.js, and custom GLSL shaders.

3D terrain generation.

This was my first three.js project. The reason for this project was to learn Three.js.

It uses simplex noise to generate infinite terrain. There is a day-night cycle made possible with dynamic lighting.

I thoroughly enjoyed making this!

Task timer

This is a light-weight way to keep track of time spent on tasks.

It is an installable web app which works offline.

Simple Audio Visualiser

This is a simple audio visualiser which uses Meyda for audio feature extraction and the HTML5 canvas to draw the visualisations.

If you're curious of the source code, visit the repo, it's written in vanilla JavaScript and uses Vite.

Lorem image

This project uses the Intersection Observer API to load an endless stream of images as you scroll.

This is a collection of art I have created.

Many of the works have been developed in the GLSL shader language, which I adopted whilst learning Three.js

Contact me

Feel free to contact me using the below email address.

View email