Projects

HSBC Corporate
Banking

Lead developer for HSBC's digital transformation initiatives, including a full rebuild of their commercial banking applications with Node.js and React.

Screenshot of the HSBC Corporate Banking website; part of John Kavanagh's development portfolio.

In Brief

One of HSBC's largest and most ambitious digital transformation projects: the reconstruction of their commercial banking application from the middle tier upwards. While retaining some critical legacy Java in the middle tier, this now interfaces with a new Node.js layer, translating and transmitting data from the existing backend to the new responsive React frontend application.

My Role

As the lead for a small UI development team, we worked on several digital transformation projects for the bank. Most notably, we produced a modern Reactbased replacement for the bank's outdated HSBCnet application. This new application sat on top of an allnew middletier and integrated with the bank's existing content management system (AEM). Whilst this was a very handson role, I was also responsible for mentoring, pair programming, conducting peer reviews, and quality control via extensive test coverage.

hsbcnet.com
  1. HTML5 & Less
  2. React & Typescript
  3. Storybook
  4. Node.js
  5. AEM
Photograph of the HSBC building at Canary Wharf in London.

In Detail

The digital transformation of HSBC's corporate banking platform – HSBCnet – went through countless stages before 'proper' development began. I started at HSBC in a research capacity, testing and developing prototypes and POCs. Once the project was greenlit, I oversaw and led a modestsized team of UI developers tasked with developing the product's frontend architecture.

This became one of HSBC's largestever digital transformation projects to date, eventually necessitating entirely new office space next to the Tate Modern to house the 3,000+ developers working on it and its ancillary projects.

The final product was a complete rebuild of their commercial banking application, from the middletier upwards, on an exclusively modern stack: Node.js, Redux, and React (ES6 and TypeScript) on top of a mixed Java/Node.js middletier, which bridged the legacy backend to our new, responsive React application.

The front end is a responsive React application with Redux for state management. It was built using TypeScript, HTML5, and CSS3/Less (following BEM methodologies). Bootstrap was used due to legacy decisions, though not one I would have chosen personally. This also used endpoints translated from the bank's legacy AEM system (now relegated to a headless CMS) for content management and internationalisation. I have since worked on a number of other projects involving legacy AEM installations and shifting those to headless architecture. It is never straightforward!

This was a very handson role where I was directly accountable for the output of the UI team. We introduced strict quality control through pair programming, peer review, precommit linting (using the Airbnb Style Guide) and rigorous test coverage using Jasmine. From the start, we also developed and maintained a Storybook component library, which helped to document our output and allowed our work to be shared across other teams.

The platform launched to strong stakeholder and customer approval, with accessibility a critical measure of success. With many users spending their entire working days in HSBCnet, our goal was to reduce friction, improve focus, and create an experience that genuinely supported their workflows, all whilst achieving AAA compliance.

As the project became commercially viable, ongoing maintenance was shifted offshore. I spent two months bringing the new offshore team up to scratch before handing the project over to them. Subsequently, I worked on a standalone React Native banking application (which was later taken forward by First Direct and formed the basis for their existing customerfacing iPhone application); before moving to aid development on their new internal Loans and Trading platform.

Accounts Overview Screen

When first logged in, the user is presented with an overview of their accounts and their values. Dataheavy interfaces can often feel overwhelming, so some preliminary categorisation is done to separate accounts into currency types. This table can be further filtered and sorted to suit, with these selections stored for future visits.

Wireframe of the HSBCnet All Accounts page, desktop screen size.Screenshot of the HSBCnet application All Accounts page, desktop screen size.

Account Transactions Screen

As you might imagine, the number of tasks and tools that need to be embedded into a commercial banking application whilst simultaneously being easy to use and access is large. In the Account Transactions screen, the user is presented with all important details at a glance, whilst more complex functionality is accessible via transactionspecific drawers.

Wireframe of the HSBCnet Account Details page demonstrating the 'more information' drawer, desktop screen size.Screenshot of the HSBCnet application All Accounts page with 'more information' drawer opened, desktop screen size.

PDF Statement Generation

A piece of functionality that had consistently caused friction for users in the past had been generating reports and statements via the application. The tool we developed allowed customers to define and order the columns they needed, displaying a live inapp preview. They could then export this as a fullybranded PDF or request a physical copy via the post.

HSBC PDF statement generated via the platform.Screenshot of the HSBCnet PDF generation options: defines how many columns to display, and what each column should contain. Desktop screen size.

This could
be you.

I help clients turn complex problems into clean, performant solutions. Get in touch and let’s build something great together.

Get in touch