Architecture

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»

Why I Believe Rails is Still Relevant in 2019

Why You and Your Team Should Consider Ruby on Rails  

You might have read the infamous blog posts titled “Rails is Dead”, but I have seen development teams flounder over and over again when they try and reinvent the wheel using NodeJS on the backend. Rails is Scalable Despite the negative press, I’ll argue rails does scale. After developers at Twitter have spoken at length about their issues with Rails performance, it’s easy to get the wrong idea. Rails is not the fastest framework in the world… but I will argue that performance is the last thing you should worry about when you want to scale. more»

21 Commandments for Greenfield Development

A Developer's Guide to New Projects  

The “greenfield” project is known by developers as a productivity Nirvana. It is a beautiful place where there is no legacy, no bugs and endless possibilities. It is also littered with mines. I’ve recently seen a number of anti-patterns around the creation and early growth new projects, and thought I’d summarize the anti-patterns I’d seen in the past as a guide for developers to avoid these common pitfalls. 1. Get a Pipeline in Place Early Run your tests automatically. 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»