Download CV

George Campbell

Software Engineer

Me

Bio

Hi, I'm George Campbell, a software developer with a lot of web experience. Contact me if you're looking to make a high quality, fast loading, responsive website or webapp. If you need interactive special effects or 3D elements in your website, we can use Three.js and WebGL to achieve the desired effects. Check out my portfolio to see what I can do.

Skills

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 https://trees.vercel.app 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

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
Remote

Working with Next.js, GraphQL, Wordpress, Storybook, amongst other technologies I was a front-end engineer.

DRPG October 2020 - August 2022
Remote

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: https://classicvisualiser.jaguar.com

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

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 https://kirkwhayman.com 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
Remote

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
Remote

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.

Portfolio

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.

MASSLESS.art

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