Things I've built, at work and on my own.
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–26A 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–26Prefetch 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–26A 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–26A 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.
Payment recommendations library
Amazon Payments · 2022–24A 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
University work and personal projects, with code on GitHub.
mHealth app and cloud load testing
2021–22My 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
App →Load testing →
IMU muscle fatigue detection
2021Detecting 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.
Code →
Music link converter
2020–22A 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
Discord bot →Web app →
RSA file encryption in C
2021Encrypting 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.
Code →Write-up →
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
Code →