Post/Code

HomeAboutUsesNow

Notable Projects.

During my 7 years working for the BMW Group South Africa I contributed towards a diverse set of highly visible websites and applications for both local and international markets in a variety of roles:

  1. Frontend developer working closely with the Java development and design teams.
  2. Team lead for the Java development team.
  3. JavaScript developer for the Java/Digital Hub Team serving BMW Group markets worldwide. In that team I worked on several projects:
    • Lead developer for the “Service Online” project.
    • Senior frontend developer for the Online Sales components project.
    • Frontend developer for various projects running in markets such as Mexico, Germany, China and the UK.

    As of my resignation, my primary project “Service Online” was operating in South Africa, Australia, New Zealand, Malaysia, Singapore, Thailand and numerous markets in the Middle East. During this time I worked remotely from Barcelona for a year.

Service Online.

An AngularJs single-page application built on top of the CDK “Service Online” API with a custom Node.js API for markets not using the CDK API. The application supported the booking and management of service appointments for BMW and MINI owners:

  • The application was mobile responsive.
  • Fully translatable, with all copy able to be customised to local market requirements.
  • We supported 3 languages including right-to-left (RTL) layouts in Arabic.
  • The application appeared in 2 different corporate identities for BMW and MINI with a customised look and feel for both brands.

The app further supported numerous other feature flags and options dependent on local market requirements. After our initial pilot, I migrated the application, domains and SSL certificates to Microsoft Azure. I was responsible for all Azure related activities for the application.

When a new developer joined the team, I oversaw the:

  • Migration of the app to the LTS version of AngularJs (1.7).
  • Integration of unit tests.
  • Addition of an automated build/release pipeline via Azure DevOps.
  • Concept proposal for the creation of a new admin portal for markets to manage their content directly.

Throughout the course of the project I was involved in all aspects of:

  • Development
  • Design
  • Documentation
  • Presentations
  • Sprint planning

During this time I undertook numerous other activities including research and exploration of project expansion opportunities which included presenting our project at the annual BMW IT Fair in Munich. This presentation resulted in project interest from BMW regions covering markets in Europe and North Africa.

During this time I also provided support, technical diagrams and a fully documented Postman collection for a US based development team which was integrating the CDK API into the BMW Connected App.

Project Elements: AngularJs, Node.js (Express, Nodemailer and Handlebars), HTML/Less, Google Maps, Azure DevOps, Azure App Service, Let’s Encrypt SSL, mockups in Balsamiq, design in Photoshop and Sketch and presentations in InVision. Workflow diagrams. Postman collections/API documentation.

Online Sales.

I was a senior developer on the team responsible for building out an AngularJs/TypeScript component library to be used in the parent Online Sales project which was a priority project for BMW Germany with markets in the UK, Germany and China.

The component library covered all UI elements to be used in the application and to be available in 3 corporate identities for BMW, BMW-Motorrad and MINI. All components needed to support translation. The components were built from scratch using HTML/SCSS and AngularJs and published as a private NPM package. I was responsible for development of components, code review and mentoring the junior developers on the team. All source code was hosted in BitBucket with all work items being tracked in Jira.

I was also involved in a separate branch of the same project where we conducted a pilot project for UX testing and analysis. This involved travelling to Munich, Germany and running workshops and UX testing with stakeholders in Germany. We conducted a variety of tests including card sorts, interviews and observation tests.

Project Elements: AngularJs/Typescript, HTML/SCSS, code review (BitBucket), UX testing.

BMW Digital Showroom.

I played a leading role in the design and development of the BMW Digital Showroom project. Playing multiple roles in this project, I took part in:

  • Created wireframes and worked closely with the designer to get the application from concept through to approval.
  • Worked closely with our Java/AngularJs developer and developed numerous components on the front-end HTML, CSS and JavaScript.
  • Oversaw many of the UI aspects of the project.
  • Conceiving of and setting up the Google Analytics tracking and reporting.
  • I was responsible for the pilot implementation of a “Use My Location” feature.
  • Handled design for several features.
  • Shared AngularJs development responsibilities for several enhancements.

Project Elements: AngularJs (created front-end components for JS developer to integrate), Google Analytics development, Google Analytics reporting, HTML/Less, Wireframes, post-launch design work.

BMW Blog.

As the primary developer on this project, I created wireframes and worked closely with the designer to get all designs approved. From there I handled all:

  • Backend WordPress/PHP development work (custom plugin and login/registration integration).
  • Frontend HTML/CSS and JavaScript development (custom and forum themes).
  • Lead Java developers in work required for the registration and login API.

The BMW Blog integrated custom APIs to bring in user data and manage registration and login.

Project Elements: PHP, WordPress and JavaScript development, custom theme and plugin development. Wireframes.

B1 (Internal Team Blog).

On my arrival to the team, I was frustrated by the use of folders containing Word documents to document team information and processes. As a result, I setup a WordPress site to which all team members could post in order to record and store the shared knowledge of the team. During this time I wrote over 100 posts detailing all kinds of development and process related information for our team.

Other.

During my time at the BMW Group, I was involved in numerous high-level projects for all BMW Group brands both locally and internationally. Other notable projects included:

  • AngularJs development for BMW Plant App in San Luis-Potosi in Mexico.
  • AngularJs, HTML and CSS development for the expansion of the Digital Showroom project to include BMW-Motorrad in Russia as well as support and handover for the teams rolling out the expansion of the the Digital Showroom to MINI and BMW-Motorrad in South Africa.
  • I designed and developed the Admin UI for our in-house dealer website CMS and was deeply involved in the development of the front-ends for the BMW and MINI dealer websites as well as the migrations of corporate identities for both brands.
  • I also developed the front-end UI and validation for all lead generation forms (at the time) across several generations of corporate identity for multiple brands as well as custom one off UIs.

I was also heavily involved in the creation and development of several iterations of dealer locators, multiple generations of the BMW, MINI and Alphera finance websites as well as playing a team lead role during the re-alignment process for the group customer portals.