Backend

Grouper API

A Ruby on Rails RESTful API for an iOS application

Grouper is an “Offline Social Club” who joined YCombinator in 2012. In 2013 Grouper decided to pivot towards a mobile-first experience, and I was brought onboard contracting as a senior full-stack developer. I worked under the guidance of Tom Blomfield, Tom Brown and Michael Waxman to deliver the backend services that powered the platform. Notably, I built the recommendation engine, the matching engine and a significant part of our asyncronous billing system. more»

Grouper Experiments

MVC Mobile Apps Built With ReactJS

Grouper is an “Offline Social Club” who joined YCombinator in 2012. In 2013 Grouper decided to pivot towards a mobile-first experience, and I was brought onboard contracting as a senior full-stack developer. I worked under the guidance of Tom Blomfield, Tom Brown and Michael Waxman to deliver the backend services that powered the platform. As part of an ongoing initiative, we frequenlty built off-shoot products and experiments in order to test our assumptions about our market. more»

Immerse Infrastructure

Deploying a Globally Distributed Application Platform with Docker

Immerse is a VR startup based in London, UK. Immerse provides an enterprise virtual reality CMS and Unity SDK . I joined the company in 2017 as a DevOps Engineer to lead the company’s effort in becoming a global VR platform. Notably, my efforts at Immerse include; building a deployment system which allows us to deploy, update, and scale global infrastructure within minutes modernising their infrastructure in AWS using terraform reworking their Unity3d build pipelines and configuring Team City introducing test suites and TDD to existing development teams working with the QA department to develop inter-project acceptance tests using capybara more»

Ruby Module Introspection

Coding a gem for inspecting module structure in Ruby  

The AST Guidelines ruby gem gem analyses Ruby module heirarchies to ensure you do not violate bounded context design. A bounded context is a concept of domain driven design which dictates the design of complex software systems. more»

Ruby Service Objects

Live coding a utility gem for creating service objects  

The Ruby on Rails framework often gets a lot of hate over the years. Rails makes it easy to get up and running quickly. Unfortunately, its beginner-friendly approach leaves you high and dry months later when you have thousands of lines of code. Rails applications of this type are often referred to as Rails monoliths. One of the best ways to refactor and save an aging Rails monolith, is to extract service objects. more»