1 World Retail Congress sessions
RAI Amsterdam - 2019

Watch the interview →

2 Talks at Monzo
Monzo - 2019

Watch the talk →

3 Talks at Starling
Starling Bank - 2018

Read the press release →
Watch talk on developer webhooks →

4 Launch day
Percent, Soho - 2020
Watch an overview of fundraisers →
Try the app →

5 Team presentation for the Business Sec. Liz Truss
Starling Bank - 2017

Twitter →

6 Google Education talk
BETT London - 2014

~ Backend & DevOps

Staff Platform for Monzo
Client: Monzo
Stack: Golang microservices with Apache Cassandra database nodes, all running on AWS. Frontend is powered by React, deployed on AWS and Netlify.

One of the larger projects I worked on at Monzo was the build of our internal staff platform: a series of backend microservices and web app that linked personal and staff account data across a variety of 3rd party services.

This ranged from integrations with Slack and Fleetsmith to HiBob for our HR team, even going as far as building a direct onboarding pipeline for new employees with our technology partner Novatech so that their MacBook would be ordered, pre-configured into Monzo's MDM and delivered on their start date ready to be onboarded.

This project was a collaboration between TechOps and the Org Scaling team.


Webhooks for customers
Client: Starling Bank
Stack: Java SpringMVC microservices with Postgres, running on AWS. Frontend is a React app built with redux, also running on AWS.

Whilst working on our new v2 Payments Services API with my team, I spent time creating Personal Access Webhooks which gave customers and developers the ability to build amazing projects with real-time data directly from their own Starling Account for free - all without needing prior authorisation.

Watch my demo of webhooks →


Umber’s tech stack
Client: Umber

Umber has been the biggest engineering project I've undertaken, building the entire engineering stack from Mobile to Backend by myself in just a few months, whilst making decisions with growth and scale in mind.

I brought a couple of close, trusted advisors to the table to help me throughout this process - namely Sam Rose, a Senior Engineer at Nebula who's previously worked as an Engineering Lead at Google, Monzo, and Starling.

I settled on using TypeScript across the board - a statically typed variation of JavaScript - with express microservices, a react site, and a react-native app. This would make it easier to hire, for the dev team to work across all platforms, and would allow for consistent typechecking and error handling across the stack.
Our auth system was also built in-house using custom JWTs and a few OAuth providers.

Our backend is made up of Express microservices which deploy to GCP on App Engine with Postgres through Prisma and CloudSQL (with a view to migrate to CockroachDB as we scale).

We have 3 environments - development, staging, and production - with associated backend builds and mobile app builds. Our primary GitHub branch automatically pushes to staging, with tags and releases used to promote builds to Production. We're using GitHub Actions for CI/CD including linting and deployments with Google Cloud, and all PRs must be reviewed (I brought on external advisors to help me do this during development).