Skip to main content

Overview

d-sports-engage-native (package name: engage-native) is the native mobile app for D-Sports. It mirrors the core PWA experience on iOS and Android: wallet, shop, leaderboard, locker room, and profile.
  • Run: bunx expo start or bun run start — then press a for Android or i for iOS, or scan the QR code with Expo Go.

Tech stack

CategoryTechnology
FrameworkExpo 54, React Native 0.81, React 19
AuthClerk (Expo)
PaymentsRevenueCat (react-native-purchases)
Web3Thirdweb
StateZustand
StorageMMKV
UILucide React Native
NavigationExpo Router
PackageBun

Features

  • Wallet — Tokens, holdings, pack opening, crypto checkout (via PWA backend)
  • Shop — Collectibles, cart, coin bundles, checkout
  • Leaderboard — Rankings and filters
  • Locker room — Social feed and engagement
  • Profile — User profile and settings
  • Theme — Dark/light mode (default dark)

Authentication flow

The app uses Clerk for authentication with support for email, SSO (Apple, Google), and phone number verification.

Sign-up and continue-sign-up

After initial sign-up (email or SSO), the continue-sign-up screen collects any missing fields:
  • username — Required if not provided
  • first_name / last_name — Required if not provided
  • phone_number — Required; triggers SMS verification via phone_code strategy
If the sign-up status is awaiting_verification, the user enters the SMS code to complete registration. The screen handles both phone_number and email_address verification flows.

Getting started

  1. Clone the repository and run bun install.
  2. Configure environment (Clerk, RevenueCat, Thirdweb, API base URL) per repo README.
  3. Run bunx expo start.
  4. For development builds: bun run build:dev (EAS) or run with Expo dev client.
The app targets both native and web (responsive) and uses the same backend (d-sports-api) as the PWA for API and checkout flows.

Ecosystem overview

See how the native app fits with the PWA, site, and Mic’d Up.