I've done

I'm learning

I'm making

A modern Android & iOS app for making secure, unique-per-site passwords. Adopts the deterministic
PasswordMaker protocol used by several browser extensions and older apps, while supporting new mobile
devices. Built with the latest Ionic and Angular.

The Big Give provides a platform for matched fundraising, bringing charities together with
generous pledgers and donors whose contributions can be doubled.

While helping inform work on a new platform, I've also been retrofitting DevOps best practices
to a large legacy codebase dating back over 10 years. This included a shift to
12-factor apps, moving from a "snowflake" server
that couldn't easily scale to
AWS ECS containers, and managing infrastructure
as code with Terraform. I also introduced
proper load tests and arranged an independent security audit, to ensure campaigns could
run smoothly and keep stakeholders' data safe.

Building practical improvements on this codebase with limited time, we made it suitable for
an emergency appeal in response to the Indonesia earthquake and tsunami and for the 2018
Christmas Challenge, which raised a record £13.3m.

Success at School is a platform that connects students to employers and provides career & study
advice.

Initially 2014 — 2016 and resuming over the past few months, I've been the primary developer
improving and adding to the site's existing Symfony codebase. In 2018 I've focused on
security and modernising the system's infrastructure & deployment processes.

My role at Comic Relief focused on Payment processing, Identity APIs and Giving Pages. I worked on the ongoing transition of these to microservices, and intelligent front-end journeys built with reusable React components.

I supported a move to Cloud Foundry and 12-factor apps that are run with Docker during development, used Terraform to manage supporting AWS services, and helped configure new Concourse CI pipelines for several projects.

In 2017 we launched year-round Giving Pages, allowing fundraisers to collect sponsorship at any time on a convenient platform, without losing any portion of donations to third-party fees. The system's designed to support quicker addition of specific campaigns like Sport Relief 2018 too. The Identity and Payment APIs supported the Sport Relief steps app and are tested at scale to handle the massive load spikes of the annual campaign.

The Payment service I worked on leveraged Omnipay to support multiple payment service providers, while offering a common interface that could be shared across Comic Relief sites that need to take money. I also contributed to a new open source Omnipay adapter for Worldpay's Hosted Corporate Gateway, allowing Comic Relief to process donations reliably at higher volumes.