I’m a passionate designer and developer with years of experience working on teams to ship compelling products.
I hold degrees in both design and engineering and I have years of practical experience directing, designing, and developing for the web and the physical world.
Working on a side project.
A coffee card stamp app.
I am using NextJS in an NX mono-repo hosted on AWS. Dynamo DB is used for storage, and AWS-CDK is used to deploy the infrastructure.
A custom ordering system for Square.
This system selects the best products from various sellers to prevent stockouts and overordering. I led the technology stack selection, chose Retool, and created the initial implementation, including data extraction from Square and order processing.
An integrated congestion management platform for NSW
ICMP (Integrated Congestion Management Platform): I coded most of the complex multi-step interface that allows transport operators to respond quickly to road incidents using optimistic updates to make the interface snappy. I also modified the original designs based on changing requirements, prototyping this in Figma.
Refactoring: I helped refactor and remove duplicated code by splitting the app into smaller components. I then improved the unit test coverage, allowing further aggressive refactoring to simplify the logic.
Modern tooling: I moved the team from 19 separate projects to a single Nrwl NX mono repo saving hours of build and integration time.
An analytics backend for traffic engineers to survey and optimise traffic flow.
Design: I designed the MVP, including ethnographic research on traffic engineering and competitor analysis. I led product positioning alignment sessions using the Business Model Canvas and Value Proposition Canvas. I prototyped core flows in Figma, styling the app based on the chosen Prime Faces UI library.
Infrastructure: I worked with my colleagues to set up Lambda, AWS-CDK, and Dynamo DB. We implemented a multi-tenant multi-region serverless architecture built via Github actions in a mono repo with deployable feature branches. AWS Cognito for auth.
Frontend: I led the frontend build for the initial MVP using the latest version of Angular (Signals, RxJS, Typescript); libraries used included NX, OpenLayers (Mapping), Tanstack (React) Query, Luxon, PrimeNG and Chart JS. I also set up the E2E tests using Cypress. In addition, I built a custom SVG drawing view for the configuration on the latest image of the physical machine learning camera that captures the analytics.
Mentoring: As the resident Angular expert for both products, I help my fellow full-stack C# developers write more idiomatic Angular code via peer group presentations and pair programming sessions.
A platform that connects students to tutors for live, real-time help online, on-demand, in the browser, and academic writing and referencing feedback from a real person - all in less than 24 hours.
I was doing some off again on again contracting. Specifically:
Designed and built a configurable assignment calculator for a Hubspot marketing site using React.
Designed some AB tests with Figma to improve student activation, implementing the designs in the Ruby on Rails codebase with the split gem.
Assisted in the redesign of a peer mentoring product using Figma, and helped with the Ember Ruby on Rails implementation.
Enterprise-grade Crisis Management, Security Management, Emergency Management, Business Continuity and more.
Frontend: I helped build out the new Noggin 2.0 platform in Angular, I built a complex form designer and render that allows customers to build their own forms on top of Noggin data models.
Backend: I took the lead building an Express CSV import/export service using Node streams with complex merge options.
Team building: I helped set up the frontend chapter and spent some time as a squad leader for the Big-0 squad, I also upskilled some of my fellow developers on Angular and JavaScript techniques.
Helperific: A platform that takes the friction out of finding and giving near time help.
The sabbatical was a chance for me to continue developing Helperific into an extremely scalable web app, picking up knowledge with new technology and practices along the way.
Design: I created mockups in Sketch, using Marvel for clickable prototypes.
Backend: I built a GraphQL backend Node.js app using the Micro Apollo library and deployed it on AWS Lambda via Apex Up.
Frontend: I built a single page app with Angular along with the Apollo client for GraphQL interactions. All Typescript types for the frontend GraphQL queries are generated programmatically 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: The app is deployed to AWS with Docker and Kubernetes via Terraform via a CI / CD workflow provided by Bitbucket pipelines.
ParkNow is a multi national company that provides pay-by-phone solutions to local government 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 management for NGRX which is particularly 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 particularly 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 manageable chunks.
Reactive forms: As a team we decided to use Angular reactive forms. I coded 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 accessors.
Technical input: I helped the backend team work out a solution 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: I helped modernise an existing Angular 1 codebase, that still needed to support IE8. 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 moved 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 were able to share across sub-sites via a CDN.
Open Source: I helped create the first open source project at Benefex: an inactivity-countdown-timer that 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 we 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).
Mentoring: Throughout my time at Benefex I practiced pair programming to up-skill the junior and mid-Level developers on our new component based architecture, Redux, and unit testing.
Testing: I introduced Wallaby JS as a test runner Angular 2, making it much easier to gain feedback as we practiced TDD and allowing us to achieve 100% test coverage in newer modules.
I built and deployed 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 with a digital experience that included validation and would allow for the easy extraction of data for 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. I used Sketch and InVision to design and collect feedback during the process.
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: I built the app with Angular 1.4, using a Gulp build system deployed to a static file on an IBM Bluemix instance.
GoFar: GoFar sells a 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.
Design: I was broadly responsible for product design. I conducted some initial ethnographic research, user interviews, surveys, and a co-design session. I reated iOS mockups and prototypes with Illustrator, Sketch, and InVision and conducted early user trials to shape the direction of the app.
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: I coded a backend REST server in Node.js using the Strongloop Loopback framework which is built upon Express JS. I tested the server with Mocha, Chai, and Supertest. I set up staging and production servers using AWS including systems to log and analyze server statistics. I secured our communication over SSL with an NGINX reverse proxy. I designed and coded an Angular front end admin interface (with Gulp and ES6) which was deployed to Amazon S3 on CloudFront. I also provided mentoring to the the interns and junior developers on the team.
Financial Services: An online mobile and web home loan application with challenging UI/UX requirements .
Frontend Development: I created a prototype app with Ember JS and then rewrote it as a production app using Angular JS (the institution later decided to standardise on Angular;I had suggested an Angular initially). I 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 automated integration tests were run against multiple browser versions in the cloud.
Study Socket: An online application that facilitates peer assisted study.
Design: I led the design of the 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.
Studiosity: A platform that connects students to tutors for live, real-time help online, on-demand, in the browser.
SkillsBuilder: A web app that lets teachers assign homework and tests to cohorts of students and to track their results over time.
Design: I led co-creation sessions with stakeholders, created wireframes and HTML prototypes, and developed/ tested cross-browser stylesheets for the production app. I organised usability testing sessions with real students and teachers; 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)
with Honours