Skip to content


Some of the projects that I have worked on or am currently working on.

QA Sidekick

Ship faster with more efficient manual testing.

QA Sidekick is a website and browser extension that teams can use to provide feedback and report bugs while testing their website's newest features.

It is a project that I built from scratch, including user research, design, and implementation.

The backend is built using Python and Django, which exposes a GraphQL API. The frontend is built in React, with custom components using a combination of custom CSS (Grid, Flexbox), and Tailwind CSS.

The Elasticsearch stack is used for log aggregation and metrics. Docker and Docker Compose are used to manage development, with GitHub Actions for the CI.

Stack: Python, Django, JavaScript, React, Docker, Boto3, GraphQL, CI/CD, GitHub Actions, Elasticsearch, Beats, Logstash, Kibana, CSS, Figma.


Full stack and infrastructure development for a stealth client

Helped build a full-stack product in a regulated market, while also contributing to the infrastructure. The work I did included the following:

  • Implemented a BPMN workflow engine to allow higher-level business decisions
  • Delivered GitLab CI/CD setup, including multi-stage CI/CD.
  • Incorporated Prometheus into the stack, which included creating custom Prometheus metrics where libraries did not exist
  • Devised Grafana Dashboards, generating charts from Prometheus endpoints
  • Improved our distributed systems and formulated integration tests for our Kafka setup
  • Created and updated Helm charts for Kubernetes deployments
  • Engineered API implementations in Golang
  • Designed and built frontend user interfaces with React, and set up frontend CI pipeline
  • Charted data with Chart.js and created data visualisations

The role was in a fast-paced environment, without many well-defined requirements. Therefore, I had to use personal and team judgment to decide the next important pieces of work, and the direction the product should go in.

Stack: Golang, Kubernetes, Docker, AWS, Kafka, Prometheus, Grafana, Grafana Loki, Fluentbit, GitLab CI/CD, React, CSS.

Government Digital Service

Securing government domains

Improved the development of a group of Discovery and Alpha services, which included finding abusive domains, as well as detailed tracking of the public sector's use of cloud services. It also included productionising existing code to protect the domain namespace, other domain namespaces, and some of the services that use these namespaces.

The work involved supporting the refactoring of the proof of concept domain management toolset into a resilient and supportable domains platform, as well as extending the toolset's scope to provide facilities for other authorities to monitor their national namespaces, specifically,,,,,,, among others.

It was also ensured that the developed product met the functional, performance, security, and availability requirements of the agreed product specification, and could be handed over to a future team with no loss of knowledge.

Stack: Python, Django, Docker, PostgreSQL, AWS, Bash, Sed, AWK.

Do Nation

Mobilising 1 billion people to take a few small steps and make them into lifestyle changes, helping impact climate change.

Accelerated the development of the Do Nation platform for a new campaign, Count Us In. This was a global initiative with many backers, including IKEA, HSBC, BT, the United Nations, Tottenham Hotspur FC, Reckitt Benckiser, Sky UK.

A full stack filtering feature I built for the website.

The work involved building web frontends from scratch according to new designs set by design agencies I worked with, refactoring and modernising the codebase, and setting up and performing load tests prior to launch. It also required maintaining Django multi-sites and providing updates to the Wagtail Content Management System.

Some of the dynamically listed options users could choose to pledge

The platform received extensive media coverage at launch, some of which you can view below.

TED: TED Countdown

The Guardian: Campaign seeks 1bn people to save climate – one small step at a time

Tottenham Hotspur: Tottenham Hotspur becomes founding partner of Count Us In

Country Living: 16 pollution pledges that will lower your carbon footprint immediately

Broadway World: Mark Ruffalo, Dia Mirza Join Global Initiative Aimed At Inspiring 1 Billion to Act On Climate Change

The Sun: Help the environment, make savings & win great prizes with The Sun’s Green Team

Glasgow Times: Count Us In: New global environment campaign aims to reach one billion people

Stack: JavaScript, React, CSS/SCS, Python, Django, Django Rest Framework, GraphQL, Docker, and Heroku.


Helping students find meaningful work experience

Expedited development of the Workfinder website prior to a launch. With students finishing university, the aim was to launch before the summer holidays, in order to give students time to apply for summer internships.

I was brought on as a Python developer, but it turned out I had the most frontend experience in the nascent team. Therefore, I lead the frontend development while also continuing the backend work. I refactored the existing React codebase to provide better structure, introduced testing with Jest, and set up the CI/CD pipeline.

We also considered working with VueJS as our frontend framework of choice and built a number of prototypes. However, the company decided to go with React.

I primarily built the Employer portal, where businesses could view and reply to students who had applied to them and manage the application process end to end. It also contributed to setting up frontend tooling, UTM analytics tracking, and general development across the platform and email system. All while maintaining 100% test coverage.

Stack: JavaScript, React, VueJS, CSS/SCSS, Jest, Python, Django, Django Rest Framework, Docker and AWS.

The above is a subset of some of my work. I will update this page with some of my older projects and work soon.