Senior Full-Stack Software Engineer
+44 7419 821335
Intro
I'm an experienced full-stack developer who loves working on hard problems and making beautiful things out of code. I specialise in full-stack web development with Node, TypeScript and modern frontend frameworks, but I'm also comfortable: using commandline tools to debug network traffic; devising and documenting an efficient workflow for processing audio sprites; or giving a workshop on async programming patterns.
Work history
Software Engineering Consultant
Cambridge University Press & Assessment
Ltd company, remote
Jan '24–Sep '24
Modernising, reworking and rebranding e-assessments. Everything from figuring out how Rasch model stability works to wrangling audio sprites in Audacity.
TypeScript
Node
XML
Algorithms
Audacity
CreateJS
Webpack
Bash
Senior Software Engineer
Valsys
Permanent, remote
May '23–Oct '23
Frontend development on next-gen financial modeling platform.
TypeScript
React
CodeMirror
Lezer
Senior Software Engineer
The Financial Times
Contract, remote
Jan '21–Jul '21
Large user-facing features and updates to the FT's content pipeline & React-based article UI.
React
Node
PHP
WebDriver
Co-founder
Retain Maths
Startup
Jun '19–Jan '21
EdTech startup focused on spaced repetition practice for maths students.
JavaScript
MySQL
Express
Svelte
PWA
Systems Developer
CEM (Durham University)
Contract, on-site
Jul '18–Dec '18
Flash to HTML5 transformation; improved DX & productivity.
TypeScript
Python
Linux
MongoDB
HAProxy
Developer
DropPoint
Freelance, remote
Jan '17–Jul '18
Created donation platform; onboarded & mentored junior/graduate developers.
I developed the DropPoint site with the founders, quickly iterating through several prototypes based on feedback and concepts, and implementing core features such as the postage service.
I developed the DropPoint site with the founders, quickly iterating through several prototypes based on feedback and concepts, and implementing core features such as the postage service.
JavaScript
HTML
SCSS
Stripe
JavaScript Developer
Chess.com
Permanent, remote
Sep '15–Nov '16
Frontend work on Bughouse, other variants, Vision Trainer.
I was invited to join Chess.com’s global team after Erik (CEO) came across my chess site. I was responsible for the frontend effort on variants, a central feature of the major “V3” update.
I was invited to join Chess.com’s global team after Erik (CEO) came across my chess site. I was responsible for the frontend effort on variants, a central feature of the major “V3” update.
JavaScript
AngularJS
Less
Symfony
LAMP