header image


HiBob Who's Off Slackbot

Slackbot which provides functionality for users to subscribe Slack channels to receive periodic out-of-office notifications for their teams. The application will then send notifications as configured, e.g., a notification on Monday morning outlining who's off during the week.

The application is written in TypeScript and is deployed on a serverless AWS stack (API Gateway, Lambda, & DynamoDB) using Terraform.

Wedding Website

Website made for our wedding. Used as a space for sharing information, photos, & RSVPs.

The UI was built using Next.js and hosted on Vercel. The GraphQL API was built using Ruby on Rails and hosted in a private Kubernetes cluster.


Personal budgeting progressive web app built aimed at users new to money management.

Node.js serverless API, React with Redux UI deployed through AWS amplify.

MVP in progress.

Home Server

Website based portfolio, blog, and Ruby on Rails sandbox for learning new processes.

Automatically deployed from GitHub pull request to a Kubernetes cluster, through a CircleCI CI/CD pipeline.


Volunteering some of my spare time to developing and managing an open-source production Rails marketplace, Gigfunding.

Gigfunding enables neighbours to connect in meaningful ways and donate their time and money to effective causes.

Forked from open source marketplace sharetribe, Gigfunding runs on Ruby on Rails v5.2 and a mix of traditional SSR and React on Rails.

When Unicorns Fly

The design, development, and hosting of the When Unicorns Fly podcast site.

The site's public side displays information on podcasts allowing for filtering by podcast topic, direct streaming, and linking to popular podcast streaming services. The private side allows for admins to create and update podcasts and topics, including updating descriptions, images, and audio files.

The client application is built using React, with dynamic SSR being performed for Bots and Crawlers. The API server is built using ExpressJS, with a custom multer storage engine for analysing and uploading new podcasts to AWS S3.


Custom transformer for compiling Embedded Ruby template files (.erb) for use in the Jest JavaScript testing framework. Written as an open-source npm module.


Responsive, side-scrolling platform game with the level dynamically generated from user’s uploaded audio, built-in Vanilla JavaScript.