I'm Sam, a software engineer based in the UK with a focus on UI and tooling.

I'm passionate about delivering high quality software. I have broad industry experience across a range of types of organisations, most recently at global investment banks.

During my career I have worked across the stack with various technologies and have a particular interest in all things web and JavaScript. I have a focus on UI development and tooling, often working with TypeScript, React, Node.js and GraphQL.

One of my interests is static code analysis (I have published my own open source static analysis tool on GitHub). I also enjoy learning about personal finance and build SavingTool.co.uk in my spare time.

Key Skills

  • TypeScript, JavaScript
  • React
  • GraphQL
  • NodeJS, NPM, libraries
  • CLI tools
  • Developer Tooling
  • Documentation
  • Modern SDLC
  • Working with monolithic and microservice architectures
  • AWS & Cloud-driven approaches


  • 2008-2012 BSc Web Application Development (University of Plymouth)

Additional Skills

  • Experienced with banking technology environments
  • Personal interest in programming languages
  • Data structure driven approach
  • Caching (it's simple but hard!)
  • Naming things (even harder!)


J.P. Morgan - CIB, Digital & Platform Services (June 2022 - Present)

J.P. Morgan - CIB, Digital & Platform Services (June 2022 - Present)

Role: Software Engineer (VP, UI Engineering)

Building tooling and services to enable and enhance UI engineering across the CIB, with a focus on developer experience. Contributions to Modular (open source) and redevelopment of a key strategic CLI tool.

Key tech: TypeScript, React, Node.js, GraphQL, Micro Frontends, Modular, Monorepos

Citigroup - Cross-Asset Risk, ICG (April 2020 - May 2022)

Citigroup - Cross-Asset Risk, ICG (April 2020 - May 2022)

Role: Senior UI Developer (VP), UI Team Lead (VP)

Leading & managing a development team of 7 to drive UI development of a React/TypeScript/GraphQL UI platform for cross-asset risk systems (Markets Technology, ICG)

Key tech: React, TypeScript, GraphQL, Micro Frontends

Concentra Analytics - OrgVue (September 2019 - April 2020)

Role: React JavaScript Developer (contract)

Worked in the core OrgVue team to deliver the 3.4 milestone. Major new features including new charts and data fetching reimplementation. I also gained experience working with the new React concurrent mode and statecharts for state management.

Key tech: React, TypeScript, Concurrent Mode, Highcharts

Idean X SMARTY & Three (May 2019 - September 2019)

Role: React JavaScript Developer (contract)

Delivering new capabilities on SMARTYs marketing site and user webapp. New features and improved experiences for many thousands of users.

Key tech: React, Redux, Jest, Flow, Gatsby

Reason X AlixPartners (July 2018 - May 2019)

Role: React JavaScript Developer (contract)

Core member of a team delivering an internal greenfield financial analysis webapp from day 1. Primary member of a 6-strong frontend dev team iteratively delivering a high-value product. My primary highlight on this project has been introducing the team to Flow and using it extensively throughout our code, plus leading the charge in testing.

Key tech: React, Redux, Jest, Flow

The App Business X The Racing Post (November 2017 - July 2018)

Role: React JavaScript Developer (contract)

I worked on an embedded agile team delivering substantial upgrades to racingpost.com. By the end of this project, racingpost.com went from only single bets, to a fully featured betslip supporting multiples and accumulators accross 6 bookmaker partners, with a brand new user experience. The stand-out feature of this project was the quality of the betslip component we delivered, including 99.96% test coverage.

Key tech: React, Redux, Jest

Circus Street (April 2017 - November 2017)

Role: Senior Front-End Developer

I helped the team at Circus Street advance their online learning product by working accross their offering including the marketing website, the learning web application, the hybrid app and several internal management tools. This ranged from several greenfield React/Redux projects with 80%+ test coverage to maintaining an older Angular 1.X project. During this role I learned a great deal about Redux and had the pleasure of implementing several apps using it.

Key tech: React, Redux, Jest, Angular

Mentally Friendly X British Museum (October 2016 - March 2017)

Mentally Friendly X British Museum (October 2016 - March 2017)

Role: Senior Full-Stack Developer

I was a significant contributor to the new (as-yet unreleased) British Museum website. Our team delivered a large project that enables the museum to deliver a vast range of dynamic content to over 500,000 global visitors per month. We implemented a fully component-ized responsive website with a containerized backend that involved multiple levels of caching and used microservices-like patterns. This project really exposed the challenges of a content-heavy organization.

Key tech: Node, Laravel, Vue

HAIRCVT (2014 - 2016)

HAIRCVT (2014 - 2016)
HAIRCVT (2014 - 2016)
HAIRCVT (2014 - 2016)

Role: Lead Developer & Partner

I led a team of 2 from iterating prototypes, to MVP, to a product delivering record growth month-on-month. Our product was a Laravel/Symfony PHP monolith with a Angular 1.X front-end, with many more technologies and challenges hidden away - including message queues, cacheing mechanisms, a database migration, AWS deployment and a hybrid Ionic app.

Key tech: Angular, PHP, AWS

Google Nexus 5 (2013)

Google Nexus 5 (2013)

Role: Tech Lead

I led the technical side of Google's showcase site for the Nexus 5 phone that launched in 2013. A responsive, retina-compatible & parallax project with interactive 'moments', this site was visited by millions during the annoucement week. A challenging but rewarding project including integration with some internal Google systems.

Key tech: Angular, GSAP/TweenMax