JD Sports

#1 Trending Shopping App in 24 Hours.
Stores in APAC
110+Stores in APAC
Global Revenue
£12.66BGlobal Revenue
APAC Countries
4APAC Countries
Sales From Digital Platforms
20%+Sales From Digital Platforms
JD Sports

About JD Sports

JD Sports is one of the world's most recognised sportswear and sneaker retailers, operating across the UK, Europe, North America, and the Asia-Pacific. When JD Sports set out to launch a new dedicated app for Australia and New Zealand, they needed a team with the technical depth and design capability to do it right.

JD Sports
JD Sports

The Challenge

Moonward was brought in alongside Auckland-based ecommerce specialists Moustache Republic to lead the end-to-end UI/UX design of the app and provide expert development consultation throughout the project. What followed was one of the more technically demanding engagements we've delivered: a multi-region, multi-environment mobile launch across iOS and Android, built on an existing Shopify infrastructure and integrated with some of the world's leading commerce and marketing platforms.

  • 01End-to-End UI/UX Design
  • 02Enteprise Grade Integrations
  • 03Complex CI/CD Workflows
  • 04Offline & Caching Strategy
  • 05App Store Distribution Strategy
UI/UX Design, End to End
01

UI/UX Design, End to End

Moonward designed the complete app experience for both iOS and Android, from first screen to checkout. Every interaction, layout, and visual decision was crafted to meet JD Sports' global brand standards while being optimised for Australian and New Zealand customers.

App Distribution Architecture
02

App Distribution Architecture

Moonward designed a four-bundle strategy (AU/NZ across Production and QA environments) giving JD Sports independent deployment control per region and per environment. A CI/CD pipeline was built on Bitbucket Pipelines using a matrix strategy across regions, with per-region secrets management and dynamic configuration via `app.config.js`. Expo EAS handled compilation and store submission, distributing builds automatically to TestFlight (iOS) and Google Internal Testing (Android) without credential conflicts during concurrent builds.

Deep Linking and Universal Links
03

Deep Linking and Universal Links

Moonward designed and documented the full deep linking architecture, covering the five-scenario matrix for `apple-app-site-association` and `assetlinks.json` configuration, UTM and query parameter preservation, and edge cases where parameters are lost through deferred deep linking or iOS redirects. The core solution was a centralised deep link handler built to receive links from any source -- push notifications via Bloomreach and CMS-driven content via Contentful (banners, articles, promotions) -- using standard website URLs as the universal link format so the JD content team needs no deep link-specific knowledge. The handler parses navigation parameters (productId, categoryId, promotionId, tracking info), routes users to the correct screen, and handles both cold start and warm start scenarios alongside analytics and tracking. A custom smart banner flow was also designed, detecting whether the app is installed and routing users to the app or App Store accordingly.

Caching and Offline Strategy
04

Caching and Offline Strategy

Moonward defined a two-tier caching approach: SQLite for persistent core content with TTLs over one hour, and TanStack Query for in-memory user journey data. Low-end Android device considerations were built in, including memory threshold clearing. Offline mode was handled via Expo network connectivity detection, with an in-app banner in the app root and a contextual popup when users attempt network-dependent actions like checkout.

Integration Architecture
05

Integration Architecture

Moonward provided technical guidance across the full integration stack: Shopify Storefront GraphQL API, Checkout Kit with native modal, and Customer Account API with Cognito as the identity provider; Contentful for CMS-driven marketing and rich content; Bloomreach for push notifications, CRM segmentation, and React Native SDK integration; Algolia for product search via react-instantsearch-core; Zendesk, where Moonward recommended the Classic SDK over the newer Messaging-only SDK based on the project's support requirements; and Firebase for GA4 analytics, Crashlytics, and Performance Monitoring.

Our Approach

The JD Sports AU/NZ app was built on a foundation designed for scale from day one. Moonward architected a four-bundle distribution strategy across AU/NZ Production and QA environments, backed by a GitHub Actions CI/CD pipeline that automates delivery to TestFlight and Google Internal Testing without credential conflicts. The technical scope ran deep: Cognito JWT authentication integrated with Shopify's Customer Account API, a two-tier caching model splitting persistent SQLite storage from in-memory TanStack Query data, and a full deep linking architecture covering universal links, UTM preservation, and smart banner routing. Integrations spanned Shopify, Contentful, Bloomreach, Algolia, Zendesk, and Firebase, all built to defined performance standards: sub-2-second cold starts, 55+ FPS, and a crash-free rate above 99%.

JD Sports

Impact

The JD Sports AU/NZ app launch is the kind of project that tests the full range of what a software team can do. It demanded deep technical architecture, precise coordination across two regional markets and two platforms, expert integration across a stack of enterprise-grade tools, and an end-to-end design that held up to one of retail's most recognisable brands.

Launch Your Next Chapter

Every product we've launched and business we've grown, started with a conversation. Contact us today and let's talk about yours.