Projects

Things I've built, at work and on my own.

At Amazon

This work is internal, so there's no code to link. The numbers are the results we measured.

1-step Checkout for Retail and Grocery

Amazon Payments · 2024–26

A shorter checkout that takes customers from cart to order without a separate payment page.

~1s faster checkout, and ~3s faster grocery payments

Problem
Every extra page in checkout adds latency and a chance for the customer to drop off.
What I did
I owned four of the designs and led delivery of a checkout flow that removes an entire page, for both Retail and Grocery.
  • System design
  • Technical leadership
  • Payments

MFA page speed-up

Amazon Payments · 2024–26

Prefetch optimizations across the full stack for the multi-factor authentication step of payments.

MFA page load from ~6s to ~100ms, and total transaction time from ~16s to ~10s

Problem
The MFA page took ~6s to load, and customers waited on it in the middle of paying.
What I did
I drove prefetch optimizations across the backend, page rendering and front end, so the page has what it needs before the customer reaches it.
  • Java
  • JavaScript
  • JSP
  • Performance

RAG-powered team Slackbot

Amazon Payments · 2024–26

A Slack assistant that answers engineers' questions from team documentation.

1000+ queries a month

Problem
Answers to recurring questions were buried across docs, and the same questions kept coming up in chat.
What I did
A retrieval-augmented generation (RAG) bot built with Amazon Kendra, AWS Lambda and Strands Agents. Alongside it, I ran a GenAI learning series for the team.
  • GenAI
  • RAG
  • Amazon Kendra
  • AWS Lambda
  • Strands Agents

MCP server for Amazon Shopping

Internal hackathon · 2024–26

A Model Context Protocol server that lets AI agents work with Amazon Shopping.

Won the hackathon

Problem
AI assistants need a structured, safe way to call shopping capabilities, rather than scraping pages.
What I did
An MCP server that exposes Amazon Shopping actions as tools that LLM agents can call.
  • MCP
  • LLM agents
  • GenAI

Payment recommendations library

Amazon Payments · 2022–24

A config-driven library that decides which payment methods to recommend at checkout.

Key payment metrics (PCR and PSR) up ~5000 bps; V2 adopted across Retail and other clients; 3–4x throughput

Problem
Checkout needs to suggest the right payment method for each customer, across many different flows.
What I did
A config-driven recommendations library, plus Last-Used (V1 and V2) and Most-Used pipelines. I also tuned the service's garbage collection after a 50% throughput regression.
  • Java
  • Distributed systems
  • JVM tuning

Side projects

University work and personal projects, with code on GitHub.

mHealth app and cloud load testing

2021–22

My undergraduate thesis: a mobile health app, plus load tests of the cloud backend behind it.

Problem
Health apps need a backend that holds up as more people use them. The thesis asked how a cloud architecture for an mHealth app behaves under realistic load.
What I did
A React Native app showing daily, weekly and monthly health views, and a Python load-testing harness that seeds the database and simulates many concurrent users against the AWS-hosted API.
  • React Native
  • JavaScript
  • Python
  • AWS

IMU muscle fatigue detection

2021

Detecting signs of muscle fatigue from a wearable motion sensor.

Problem
Weak muscles cause subtle but detectable changes in everyday movements. Could a cheap wearable sensor pick them up?
What I did
Firmware for an ESP32 reading an MPU9250 IMU over I2C, and Python tools to collect, augment and analyse the data. It recognises activities like walking and sitting, and characterises sit-to-stand transitions.
  • C++
  • ESP32
  • Python
  • Embedded

Music link converter

2020–22

A Discord bot and web app that convert Spotify links to YouTube Music and back.

Problem
Friends share music from different streaming services, and a link only works for people on the same one.
What I did
A Discord bot that converts links asynchronously as they're posted, using the Spotify, YouTube Music and Discord APIs. I later made a web version with React and Flask.
  • Python
  • Discord API
  • Spotify API
  • React
  • Flask

RSA file encryption in C

2021

Encrypting and decrypting files with RSA through the OpenSSL C API.

Problem
A Computer Networks course project: secure file transfer using public-key cryptography.
What I did
Command-line encrypt and decrypt programs in C, using OpenSSL-generated key pairs. I wrote up how it works on the blog.
  • C
  • OpenSSL
  • Make

This site

2026

My personal site, rebuilt from Jekyll to Astro in 2026.

Problem
The old Jekyll theme was dated, and its build setup hard to maintain.
What I did
A static Astro site with typed content collections, automatic dark mode, an RSS feed and a sitemap. A GitHub Actions workflow deploys it to GitHub Pages.
  • Astro
  • TypeScript
  • CSS
  • GitHub Actions