Hello! I am Matthew James, a web developer from Melbourne, Australia.

I have been building websites for over ten years and worked with clients from all parts of Australia, big and small, providing top-notch web development.

Working for an agency and as a freelancer, I have obtained an eye for detail, knowledge of integrating with and developing for both sides of the development divide, and a deep understanding of how to project manage and drive process efficiently.

Employment History

Since 2021
Openpay

Senior Frontend Engineer

Oct 2020
Dec 2020
Remote Social

Developer

Apr 2019
Dec 2020
Incent

Developer

I initially started at Incent on a part-time contract to fill in my spare time on weekends, once my contract at BetEasy ended I began working there full-time in late 2019. Over the year and half I've spent working for Incent I have developed two React SPAs and a React Native mobile application, as well as plugins for popular streaming software.

Aug 2017
Nov 2019
BetEasy

Senior Software Engineer

I started at BetEasy on a 6-month contract for the 2017 Spring Racing Carnival, this was later extended and I spent close to 2 and half years as a part of their team. In that time we migrated a significant portion of the legacy website to a new single page application, all while building new functionality and improving the experience for customers.

Jun 2017
Aug 2017
Arkade Loyalty Agency

React Developer

I joined Arkade on a 6 week contract to help develop two React applications.

Jun 2016
Jun 2017
Tundra Interactive

Lead Front-end Developer

After many years of being in the trenches as a developer, I moved into a lead position and focused on planning and growing my team. My role encompassed a lot more than just frontend development; many of my tasks included backend development and server administration. I still had a lot of the same responsibilities as my previous title, but I also:

  • Created and improved development processes
  • Triaged critical issues
  • Code reviews
  • Audited legacy and new business code bases
  • Resource scheduling
  • Client communication
  • Technical & functional planning
  • One-on-one training with team members
  • Deployments
Mar 2012
Jun 2016
Tundra Interactive

Front-end Developer

I started at Tundra as a bit of greenhorn at frontend development because prior to starting I had mainly been backend oriented. I saw the frontend ecosystem quickly growing, and I knew that is where I wanted to focus my efforts. My responsibilities at Tundra included:

  • Created SPAs (typically with React/Redux)
  • Built websites using Drupal/WordPress
  • Collaborated closely with designers
  • Worked on-site as part of the client's development team
  • Created task runners to automate repetitive tasks such as SASS compilation and ES2015 transpiling
  • Built EDMs
  • Tested thoroughly on numerous devices and browsers
Oct 2011
Feb 2012
Roster Plus

Web Developer

After moving to Melbourne in late September 2011, I worked at Roster Plus on a short contract basis. I spent most of my time working on the iPad version of their clock in/out application, which I built as an offline-first SPA. Besides creating the application, I also maintained a few of Roster Plus' clients and their websites.

Feb 2011
Jul 2011
Mercedes-Benz Australia

Web Developer

I took this job to fill in my day off while lecturing. In this position, I worked closely with the marketing department and maintained several websites under the Mercedes-Benz brand. A lot of my time was spent learning their proprietary CMS and making it do what I wanted.

Feb 2010
Jul 2011
West Coast Institute of Training

IT Lecturer

After completing my diploma at WCIT, I was asked by one of the lecturers if I would like take on a PHP class for a few hours each week, this turned into several web-related courses soon after. Most of my time was spent creating course content and running the individual classes. Once the other lecturers learned of my web development knowledge, I spent a good portion of my time digitizing their course material for online delivery.

Since 2007

Freelancer

I have worked directly with clients on several projects and built a range of websites including eCommerce, CRM systems, and billing systems. I have had clients from India, the US, and the UK. I usually handle the entire process from planning to development to hosting.

Clients

    • User Wallet

      I started working for Incent in early April 2019 on a part-time contract, my task was to build a frontend application where customers could add their bank accounts, be rewarded for their transactions and manage their account information. The application later evolved into the user's personal wallet and a place for them to withdraw, donate and track their Incent.

      View website
      • React
      • Redux
      • Redux Saga
      • Styled Components
      • TypeScript
    • Streamer Portal

      Shortly after completing the wallet application I began work on a brand new product called Ingage. The Ingage application allowed streamers from various different platforms (Twitch, Dlive, etc.) create and manage campaigns to provide rewards to their viewers with Incent. The platform is integrated with multiple desktop streaming applications such as OBS and Streamlabs.

      View website
      • React
      • Redux
      • Redux Saga
      • Styled Components
      • Socket.io
      • TypeScript
    • Native App

      To ensure we could reach as many viewers as possible, a cut-down version of the Ingage application was created using React Native which allows viewers to redeem Incent reward codes.

      • React
      • Redux
      • Redux Saga
      • React Native
      • TypeScript
    • CrownBet Rebrand

      I played a significant role in rebranding CrownBet to BetEasy. I worked closely with the UX team for several months to redesign and develop numerous elements, including the betting slip and racing pages.

      View website
      • React
      • Redux
      • Redux Saga
      • CSS Modules
      • Webpack
    • William Hill Migration

      After BetEasy acquired William Hill Australia, myself and another engineer were tasked with creating an application to guide customers on how to migrate their account. The application was versatile enough to run not only on our website but within the native applications as well. The project was very successful and migrated thousands of customers within a few days.

      • React
      • Redux
      • Redux Saga
      • Styled Components
    • Drive Appy

      This mobile application was a freelance project that I completed mostly in my spare time. It is written in React Native which made it easier to not only develop but also target multiple devices. The API uses a serverless Node.js architecture hosted on Azure.

      View website
      • React Native
      • Expo
      • Redux
      • Redux Saga
      • Node.js
      • Serverless
      • NoSQL
    • UI Kit

      Working with another senior developer and designer, we spent 6 months developing a responsive UI kit to replace the existing Officeworks frontend. We delivered an entire package including build tools, documentation and a demo site that utilised every component we created. After we had finished the development, I spent six weeks working on-site at Officeworks to help integrate the UI kit into their systems.

      View website
      • jQuery
      • SASS
      • Gulp
      • BEM
    • In-store Furniture Experience

      I was tasked with creating a kiosk application that would run on a touch screen inside Officeworks' stores. By using the UI kit we developed earlier, I created a React/Redux application in only a week of development time. The application was integrated with Officeworks' product API, which I planned out before the development started.

      • Node.js
      • Express
      • React
      • Redux
      • Styled Components
      • Webpack
      • BEM
    • Metcon Mack

      Working closely with another developer, we created a React application that ran across 3 devices simultaneously to display real-time data. The iPad version of the application was used by participants to enter their information, while the iPhone version would take input from a Nike staff member, whose interactions would update the TV in real time. The application traveled all over Australia and was a huge success with hundreds of participants.

      • Node.js
      • Express
      • React
      • Redux
      • Styled Components
      • Socket.io
      • Webpack
      • BEM
    • NTC Tour 2016

      We were asked to create an application for the NTC Tour event so participants could set up and manage their squads before the day. I worked closely with another senior developer to design the architecture while another developer handled the styling. The application was heavily integrated with Facebook's API and used server-side rendering to serve up the pages almost instantly.

      View website
      • Node.js
      • Express
      • React
      • Redux
      • SSR
      • Facebook API
      • Webpack
      • BEM
      • Responsive
    • Website Build

      Wellways requested a complete rebuild of their site in time for the NDIS rollout. I was heavily involved in the planning which meant meeting the client to understand their needs and then using that to create the functional/technical documentation. Besides planning, I setup the project and did the trickier functionality (such as postcode search) while another developer did the frontend portion.

      View website
      • PHP
      • Drupal 8
      • Paragraphs
      • SASS
      • BEM
      • Responsive
    • Website Build

      After years of Tundra using a flash website, I re-developed the site using WordPress with ACF and took an entirely component based approach to ensure flexibility for designers and producers to create case studies. Notably, the website has been used as an example of "how to build an agency website" by General Assembly.

      View website
      • PHP
      • WordPress
      • ACF
      • jQuery
      • SASS
      • Gulp
      • BEM
      • Responsive
    • Subscriber Hub

      Although I was not a part of the initial site build, I took over the project and maintained the code for the three subscriber hubs (The Australian Financial Review, Sunday Morning Herald, and The Age) for Fairfax Media and retained a strong relationship their team.

      View website
      • PHP
      • WordPress
      • ACF
      • jQuery
      • SASS
      • Gulp
      • BEM
      • Responsive
      • Third-party API
    • Campaign Template

      I worked on-site at Lumo Energy's CBD office for a week to develop a component-based template that could be re-used for their various marketing campaigns. Once I had finished the project, I helped their team integrate it with Sitecore.

      • HTML
      • CSS
      • BEM
      • Responsive
      • Sitecore
    • Website Build

      I was responsible for a lot of the global elements and application form on the initial site build, but I recently rebuilt the header and a few of the pages to simplify the site's University/VET sections.

      View website
      • PHP
      • Drupal 7
      • SASS
      • Compass
      • Grunt
      • Responsive
    • Student Portal

      I setup the project and did the majority of the frontend until the MVP was completed, at which point it was handed to another developer to do the social networking aspects of the site.

      View website
      • PHP
      • Symfony
      • SASS
      • Bourbon
      • Gulp
      • Responsive
    • Website Build

      I did the initial site build being mostly involved in the frontend side of things, but stepping in intermittently to assist with backend development.

      View website
      • PHP
      • Drupal 7
      • SASS
      • Bourbon
      • Gulp
      • Responsive
    • Done for the Day Campaign

      WorkSafe came to us to put a website together to collect users' information for a competition that ran each day; it attracted over 5000 entries in just a couple of weeks. I was responsible for both the backend and frontend development.

      • PHP
      • SASS
      • Gulp
      • Responsive
    • myHBF Member Portal

      I took ASP.NET templates provided by HBF's developers and was asked to make them beautiful. I used a component-based development approach, which proved very efficient, and the project was wrapped up within a few weeks, despite the overall project taking a year.

      View website
      • .NET
      • Sitecore
      • SASS
      • Angular
      • Grunt
      • Responsive
    • Product Panels

      I created re-usable, themed product panels that could be inserted on any page across the HBF website. There were many combinations of the cover so developing a solution that catered for every single scenario was difficult. However, the final result has held up many years later.

      View website
      • .NET
      • Sitecore
      • SASS
      • Angular
      • Grunt
      • Adaptive
    • Operations Map

      This small project had a tight deadline, but I was pleased with the result. I built the plugin using jQuery, which consumed a JSON file as the source and plotted POIs on the map.

      • jQuery
      • Google Maps API
      • Responsive
    • My Home Profile

      I developed a SPA integrated with Origin Energy's customer portal and provided suggestions to customers on how to save energy by using their consumption data and their answers from a questionnaire.

      • jQuery
      • SASS
      • SAP
    • Energy Manager

      This SPA was built for Origin Energy's customer portal similar to the "My Home Profile" application. It provided customers with usage data from their smart meter and predictions for future usage. Users could set their energy target and get insights into where they were spending the most money.

      • jQuery
      • SASS
      • SAP
    • Website Build

      This was one of my first large-scale projects taking over six months to complete. We started from a plain Magento theme, and I was responsible for theming it with the Kathmandu branding. One of the most challenging parts of the project for me was porting Magento's JavaScript from Prototype to jQuery so we could use modern libraries without the overhead of two JS frameworks.

      • PHP
      • Magento
      • SASS
      • Compass
      • jQuery
      • Adaptive

Tools & Expertise

  • Frontend

    • React
    • Redux
    • Redux Thunk
    • Redux Saga
    • React Native
    • TypeScript
    • Styled Components
    • CSS Modules
    • SASS
    • BEM
    • jQuery
    • Bootstrap
    • Foundation
  • Backend

    • Node.js
    • Express
    • Socket.io
    • PHP
    • Laravel
    • WordPress
    • Drupal
    • Magento
    • GraphQL
    • MySQL
    • MongoDB
  • Code Quality

    • ESLint (Airbnb)
    • Jest
    • Enzyme
    • React Testing Library
  • Templating

    • HTML
    • JSX
    • Nunjucks
    • Twig
    • Handlebars
  • Build Tools

    • Yarn
    • Parcel
    • Webpack
  • Environments

    • AWS
    • Azure
    • Vagrant
    • Docker
    • LAMP
  • Editors

    • Webstorm
    • Visual Studio Code
    • Nano
  • Third-party API

    • Firebase
    • Facebook
    • Google
    • PayPal
    • Stripe
  • Designing

    • Sketch
    • Zeplin
    • Adobe Creative Cloud
    • Web Inspector

Contact

Address
PO Box 13180
LAW COURTS VIC 8010
Australia