I am extremely passionate about design and development; I love working with teams to create and ship compelling products.
My degrees in Design and Engineering give me a well-rounded academic foundation, and I have years of practical experience directing, designing and developing web apps and physical products.
Working a short 5 week contract for EY. I will be availiable at the start of December for a new role.
The sabbatical was a chance for me to work on my project Helperific with some familiar and previously unfamiliar technology.
Design: On the design side I created mockups in Sketch, with Marvel for clickable prototypes.
Backend: I have been deep diving into GraphQL for the backend Node app using the Micro Apollo library, deployed on AWS Lambda via Apex Up.
Frontend: On the Frontend I am using the latest version of Angular with the Apollo frontend client. I generate all my Typescript typing for the frontend GraphQL queries by introspecting the GraphQL backend.
Package managment & Testing: The frontend and backend are setup in a mono repo using Yarn workspaces, unit and integration tests written with Jasmine, Karma and Supertest.
Infrastructure: I have also been brushing up on my infrastructure skills. Deploying to AWS with Docker and Kubernetes via Terraform. I am enjoying a CI / CD workflow provided by Bitbucket pipelines.
ParkNow is a multi national company that provides pay by phone solutions to local goverment and private companies.
Angular 2 with NGRX: ParkNow had a large front end development Team of 8 developers. I helped refocus the technical direction of the app we were building, making the case with managment for NGRX which is particuarly well suited to large complex REST applications.
Mentoring, Testing and Pair Programming: I pair programmed with multiple developers on the team and helped them better appreciate TDD, which works particuarly well with NGRX (Redux), I also introduced Wallaby JS, a test runner. I mentored junior developer on how and where to break down the app into smaller more managable chunks.
Reactive forms: As a team we decided to use Angular reactive forms. I codeded a base validation solution to be used by the whole team, including helper functions and display directives. I also implemented the first custom form components using control value accessor.
Technical input: I helped the backend team work out a soultions for a complex permission and menu system that needed to work accross microservices.
Benefex is the business behind RewardHub, the award-winning global employee benefits platform. RewardHub enables over 200 of the world’s largest employers to run, manage and engage their employees in reward and benefit programmes.
Angular 1 Modernisation: Initially at Benefex I helped modernise an existing Angular 1 codebase, that still needed to support IE8 - Angular 1.2.x. While adding features I architected a move from the older ‘$scope’ MVC style to a component based style (using directives as components), and transitioned to typescript in anticipation of an eventual move to Angular 2.
NPM & Webpack: Benefex had multiple sub-sites running Angular 1, and shared code was being copy pasted to the different sub-sites. With my direction we upgraded the sites to use Webpack and move from Bower to NPM.
Private NPM repository: I helped set-up a private NPM repository, which allowed us to start packaging up common Angular code into versioned modules and a Webpack DLL which we could share across sub-sites via a CDN eventually.
Open Source: With the support of, management, I helped create the first open source project at Benefex, an inactivity-countdown-timer It includes unit tests that can be run with Karma via Sauce Labs (which I introduced) to check cross browser compatibility.
Angular 2: The team and I wrote our first test Angular 2 app in May 2016 while competing in Angular Attack, and started our first production Angular 2 app in September. This app included a search function allowed us to take full advantage RxJs.
NGRX: Shortly after working on the search feature it became clear that our app would be big enough and complex enough that it would benefit from NGRX the Redux implementation for Angular 2. One particularly complex piece of interface would have been increasingly challenging to build without Redux.
Mentoring: Throughout my time at Benefex I was pairing and up-skilling Junior and Mid Level developers on new component based architecture, Redux and unit testing.
Testing: I introduced Wallaby JS as a test runner Angular 2 and we were achieving 100% test coverage in newer modules.
A web based prototype of a financial simulation targeted at C-Level executives. The game had previously been run via spreadsheets with paper forms. The project goal was to create a slick interface, replacing the paper forms, one that included validation and would allow for the easy extraction of data for the complex modeling.
Design: Using an off the shelf design theme that was easy to implement in Angular (Google Material Design). I iterated on an interface based off of the old paper game over a two week period in Sketch getting feedback on the designs using InVision.
Backend: Coded the backend REST server in Node using the Strongloop Loopback framework which is built upon Express JS. Tested the server with Mocha, Chai and Supertest. Deployed with IBM Bluemix.
Frontend: Angular 1.5 was used with a Gulp build system deployed to a static file IBM Bluemix instance.
GoFar: Physical in car device which provides clever real-time driver feedback to let you save 20% on fuel, play games, reduce emissions and cut travel time. At the same time.
Design: I was broadly responsible for product design. I conducted some initial ethnographic research, user interviews, surveys, a co-design session. Created iOS mockups and prototypes with Illustrator, Sketch and In-vision, conducted early user trials.
Business development: Worked with the rest of the team to be as lean as possible while we build our product. Lots of time spent working on business model canvases, feature prioritization based on our ethnographic research.
Development: Coded the backend REST server in Node using the Strongloop Loopback framework which is built upon Express JS. Tested the server with Mocha, Chai and Supertest. Setup staging and production servers using AWS setup Log-entries (logs) and DataDog (server stats), configured SSL and NGINX reverse proxy. Designed and coded an Angular front end Admin interface (Gulp, ES6) which is deployed to s3 on Cloudfront. I also providing mentoring to the the interns and junior developers.
Financial Services: An online mobile and web application for a home loan.
Frontend Development: I created a prototype app with Ember JS. Then rewrote it as a production app using Angular JS (as the institution decided to standardise on Angular - I did offer Angular as an option initially). I also up-skilled some developers on the team, making sure they were across the frameworks and techniques, and mentoring them when needed. The app was well tested with protractor and integration tests were run against multiple browser versions in the cloud.
Study Socket: An online application that facilitates peer assisted study.
Design: I lead the design of a beta application, marketing website and iPhone prototypes. I directed the logo and brand identity creation and produced a small animated marketing video.
Business development: Using lean startup principles as a co-founder I was involved in defining the product and pricing as well as customer development and market validation.
YourTutor Online Classroom now Studiosity: The core of the business. It connects students to tutors for live, real-time help online, on-demand, in the browser.
SkillsBuilder: A web app that lets teachers assign and track, homework and tests to cohorts of students.
Design: I led co-creation sessions with stakeholders, created wireframes, and HTML prototypes, developed and tested the production cross-browser stylesheets. I organised usability testing sessions with real students and teachers, and one ethnographic research session I conducted led to a new feature that was wildly popular with teachers.
Development: As part of the development team, I paired with other team members to implement the functionality in my designs.
BCS Innovations is a company that specialises in the development and service of various electronic and software products. The company’s expertise spans areas including telecommunications, security, instrumentation and medical devices.
Mechanical and Industrial Design: I designed a vacuum formed casing for an innovative medical device. I organised and assembled small production runs of printed circuit boards including performing verification and validation. I also designed various graphics and components for scientific equipment.
Founder - Helperific
Bachelor of Engineering (Mechanical and Mechatronic)
with Honours (First Class)
Bachelor of Design (Industrial)