StoneX, London (2020–Present, Full Time)

StoneX is a Fortune 100 multinational providing commodity trading services. As part of the metals front-office development team, I focus on greenfield projects supporting base- and precious-metal trading operations. A selection of projects I've completed are outlined below.

Forwards Pricer: Developed a Next.js application for pricing precious metals forwards. Features include forward curve skew control, markup/spread curve adjustments, and interpolation for broken dates. I also designed and implemented an averaging and Asian swap pricer for accurately pricing more complex structures. This pricer is now integrated with the firms central market data team and is used for deals with notional values of hundreds of millions of dollars every day and has become central to both sales and trading's pricing workflows.

  1. Next.js
  2. TypeScript
  3. Bun
  4. Websockets
  5. Redis

RegCap Playground: Built a React tool allowing front office users to simulate the impact of trades on regulatory capital requirements. I worked closely with the treasury team and our regulatory accountants to validate this tool. During this project I identified a long-standing error in the existing calculation, fixing which led to a material improvement of our entitiy's capital efficiency.

  1. React
  2. APIs

Trade Execution Platform: Led development of a trade execution platform for base metals. I re-wrote a Java backend service that had been created as a POC, created a fully responsive and accessible trade ticket widget, and implemented an additional "activity log" widget.

  1. Java
  2. TypeScript
  3. React
  4. Lightstreamer
  5. FIX protocol
  6. Kafka

Credit Optimization Tool: Created a React-based tool for visualizing credit line allocation versus revenue across different client and trading teams. I presented this to the group EXCO as a potential strategic tool for broader adoption.

  1. React
  2. Express
  3. Highcharts
  4. SQL

CI/CD Pipelines: Overhauled CI/CD pipelines to enable production-like unit testing and automated semantic versioning for our releases, which was rolled out across all microservices.

  1. Azure DevOps
  2. Docker
  3. K8S

Trade Blotter: Designed a React micro-frontend for querying trade data via an API and displaying results in an interactive table.

  1. React
  2. AG-Grid

SonarQube Integration: Integrated SonarQube into the CI/CD workflow for static code analysis and quality checks.

Confluent Cloud Migration: Oversaw migration from on-prem K8S deployment of Kafka to use a cloud-based vendor solution.

  1. Ansible
  2. Apache Kafka
  3. Helm

Stylus Education, London (2019–2020; 2024–Present, Freelance)

As a key member of the Stylus Education team, I designed, built and deployed the Node, Python and React/Redux architecture for this London EdTech start-up. The company supports Science, English and Maths tutoring by providing students and tutors with bespoke practice exam-papers and detailed, targeted feedback reports. As of 2025, Stylus has secured it's second round of investment and has won support from the DoE.

Services implemented:

  • Customer Dashboard: Customer-facing web app for customer admins, tutors and students to monitor the completion of learning cycles, pausing service, and reviewing outcomes over time.
  • In-house client: single page web app to allow staff to monitor and execute product workflows. It includes a drag & drop interface for producing exam papers from the question bank, and an interface for assigning tasks to 3rd party partners.
  1. React/Redux
  2. Amplify
  3. amCharts
  4. CI/CD with AWS Codebuild
  • Client API: The REST API serving the web apps. Exposes the interface to our database and implements the service that generates our personalised exam papers.
  1. Python
  2. Serverless Framework
  3. Reportlab
  4. Lambda
  5. S3
  6. API Gateway
  7. Cognito
  • Paper Processing Service: a Node-based lambda service which receives PDFs via an email endpoint, parses the email and attachments, performs pdf-image conversion, OCR, and database updates. Implemented using Serverless Framework and Step Functions.
  1. Lambda
  2. Node
  3. CloudFormation
  4. Rekognition
  5. AWS Step Functions
  6. DynamoDb
  7. SES
  8. CI/CD with Seed

Finura Partners, London (2019; 2024–2025, Freelance)

This successful and rapidly-growing financial advisory firm enlisted me in a freelance capacity to help streamline some of their business processes.

  • Report Tool: I build a Next.js web application to facilitate quick and easy completion of annual client summary reports. The application allows users to complete a large, complex form and have it auto-generate a correctly formatted PDF report. The app allows admin users to pre-define pro-forma fields, add/edit/update available drop-down options for form items, and manage user access. This application has been in use for over a year and has drastically reduced time spent by adivsors and admin staff with compiling, editing and formatting these reports.
  1. AWS / SST
  2. DynamoDB
  3. NextJS
  4. OAuth
  5. react-hook-form
  6. shadcn

Frontend SPA: Developed a dynamic form interface for client data entry.

  1. React
  2. Formik

Backend API: Built a secure API to integrate with Google Apps for data synchronization.

  1. Python
  2. Lambda

Open Source Contribution – Pyairtable (2020)

While using this tool for project work I identified an optimization to speed up batch operations by a factor of ~10x.

  1. Python