Senior Software Engineer at Dotdigital (Fresh Relevance)
July 2020 – Present
I build and maintain front-end interfaces in React, Redux, and TypeScript, while also contributing to backend work in Python and Node. My role covers feature delivery, technical improvements, mentoring Junior developers, and support for customer-facing issues across connected product areas.
Recent work includes the Testing & Optimization management, Site Info Bar, SmartBlock Builder, reporting tools, product management features, and UI refresh projects.
I also support the client scripting team on time-critical issues and have mentored placement students.
During this period, I have progressed from Junior Engineer to Senior Software Engineer.
Placement at Fresh Relevance
July 2018 – May 2019
I integrated Fresh Relevance's platform with clients' e-commerce sites, built React-based interfaces, and improved backend data processing.
University of Portsmouth
Sept 2016 – May 2020
I graduated with a First Class Honours in BSc Computer Science and received the British Computer Society Prize for Best Final Year Student at Portsmouth.
For my final-year project, I built an Internet of Things climate monitoring system with a web app for viewing environmental data. The project used Raspberry Pi, microcontrollers, radio modules, sensors, batteries, Vue, Python (Flask), and SQLite.
Personal Projects

Heronym
Name generator for fantasy characters, built with React.

Streamist
Vue app for watching multiple Twitch streams in one place.

Korean Handbook
Vue app covering the basics of the Korean language.

CSS Loaders
Collection of CSS loading animations, built with React.

Downpen
Node script for exporting all of a CodePen user's pens.
Gaming With Dan
My board game and video game blog, built with Gatsby.

University Project: Climate Monitor
An IoT climate monitoring system and web app built for my final-year project.