← All work
Client engagement · 2020

Driver Onboarding Web Flow for a Mobility Platform

A car-sharing / mobility platform

Overview

The web client for driver registration on a car-sharing / mobility platform. It walks new users through identity capture, phone verification, payment setup and subscription, talking to the registration / KYC API.

The Challenge

The onboarding journey pairs a compliance-heavy backend with a UX that must stay friendly: users capture documents from their camera, enter and verify a phone number, pick dates, and enter card details, without dropping out of a long multi-step flow.

What We Built

A React SPA with a Redux state core (redux-form, redux-observable/RxJS, redux-persist) and a Material-UI design system (core components plus pickers and moment date adapter). The flow embeds Stripe Elements via @stripe/react-stripe-js for card entry, react-webcam with EXIF handling for ID/document capture, react-phone-input-2 for international phone verification, react-infinite-calendar and rc-steps for date selection and progress, and react-iframe for embedded provider screens. API access is via Axios with JWT (jwt-decode, universal-cookie); styling is built from SCSS through node-sass. CI runs on GitLab.

Technologies & Approach

Material-UI gave the onboarding flow a coherent, accessible component language, while Redux (with redux-form) kept the multi-step form state controlled and persistable. Stripe Elements were embedded directly so sensitive card data never touched the app’s own code, keeping the payment step PCI-friendly.

Outcome / Impact

Provided the front-end half of the mobility platform’s driver onboarding, paired with the registration API release line. Demonstrates building polished, payment- and document-aware onboarding UIs on React + Material-UI.

Capabilities Demonstrated

  • Multi-step onboarding UX with progress and validation
  • Stripe Elements payment integration
  • Camera-based identity/document capture with EXIF handling
  • International phone verification flows
  • Material-UI design-system implementation
  • Redux / redux-form state management with persistence
More work See all →