About me

Hello! I'm Andrew Johnston, a web developer with over 5 years of experience. In recent years my focus has been mainly on frontend development using React, TypeScript and Sass, but I also have professional experience developing for the web with Node.js (using Express), and with PHP and MySQL (using Symfony).

I come from Orkney, an archipelago in the north of Scotland, where I lived until moving to Edinburgh in 2011. I have a BSc (Hons) Computer Science degree I got from the University of Edinburgh in 2015.


OVO Group

2019 - present
OVO Group is a leading energy technology company, committed to a net-zero carbon future and serving 5 million UK energy customers across its retail brands - including OVO Energy, Boost and SSE. I've been developing frontends for its customers and staff since 2019.

Software Engineer - Kaluza

April 2020 - present

I currently work on smart meter booking for Kaluza's retail energy platform which serves the majority of OVO Energy customers. I lead frontend development on web smart meter booking for customers and a smart booking management tool used by customer service agents.

Software Engineer - Spark Energy

September 2019 - March 2020

I started off at OVO Group working for Spark Energy as part of the team which looked after digital customer self-service tools. I brought my React experience to enable a project to replace a legacy Angular account management app with a faster and more usable React app built on the same PHP backend.


2015 - 2019
Maglabs provides bespoke digital asset management and workflow solutions to clients primarily in the retail and entertainment sectors, including major brands such as NBCUniversal, M&S, Costa Coffee and Kraft Heinz.

Software Developer

April 2017 - August 2019

I worked on the initial version of MyBrandstream, a collaboration with sibling company Magnet Harlequin to provide a packaging design workflow UI to its clients. This was a brand new app built with React and a Symfony REST API to replace several legacy systems, and incorporated data integration with both an external proofing tool and a FileMaker Pro database. Amongst the things I built were performant list components with react-virtualized capable of displaying large task lists efficiently, and an Elasticsearch database enabling full-text search for tasks and projects.

Support Developer

August 2015 - April 2017

I was part of a team handling site reliability and performance for legacy LAMP-stack workflow and digital asset management apps. This primarily involved handling bug reports from customers escalated from front-line support by identifying the root cause and applying code fixes where necessary.