Projects

Some stuff I've done

Projects

  • TxCommand, NuGet Package

    I faced a problem where using a CQRS pattern in C#, I couldn't easily pass a database transaction to multiple commands in a single process. So, in my nature, I built a solution to it. Then as I wanted to use it across different applications, with different types databases, I built TxCommand.

    • C#
    • CQRS
    • SQL
  • Carbon, Progressive Web App

    I was contacted by Carbon, tasked to build them a custom website, ahead of their launch. I worked directly with their graphic designer and main stakeholder to ensure the site met their exact expectations. I built the site using ReactJS with Typescript and Sass, with the goal that it would be simple to manage and make it easier to iterate on in future. As well as this, the site is hosted in AWS using Lambda with the aim to be both cheap and scalable, all managed in Terraform.

    • React
    • Golang
    • AWS
  • HttpMoq, NuGet Package

    While developing a set of microservices for a large distributed system, I ran into a problem where when writing integration tests for services that communicated downstream via HTTP. So I wrote a simple package which can be used to mock or emulate a downstream API, which can be really helpful as to avoid talking to actual services and mocking results.

  • Rusty JWT, NuGet Package

    During my time at The Body Shop, I identified that one of our eCommerce platform's authentication flow was very basic and not following best security practises. I tasked myself with bringing this up to scratch; one step being the migration asymmetric security keys for our JSON-Web Tokens. However, this is no easy feat with 1000s of customer using the site throughout the day. I found myself in a situation where no "off the shelf" NuGet package did exactly what I needed. So I built one myself, which supports multiple different signing and verification keys, to be used at different points in an authentication flow. This made the migration from symmetric signing keys to asymmetric ones, seamless with no downtime.

    • C#
    • JWT
    • Azure