All work
PGA Championship App project banner

Project overview

The PGA Champs App is a multi-tenant mobile platform that serves as a news outlet for the championships within The PGA Tour. The app provides a wide range of media types, such as articles, videos, video stories, and live scoring provided via Brightspot CMS.

The app is meant to have users stay up to date with everything related to the championship, through live publishing of media and a powerful push notification experience. Additionally, the app integrates the SeatGeek SDK, allowing users to buy, sell, and manage tickets directly within the app.

Challenge

1. Cross-Platform Consistency: Developing a cross-platform app that serves three different events from the PGA Tour, each requiring specific data, navigation, and push notifications, configurable through a CMS.

2. Advanced Media Experience: Delivering a powerful video media experience that supports horizontal and vertical videos, picture-in-picture functionality, and pre-roll ads.

3. Geofencing Notifications: Implementing the ability to send location-specific push notifications to users attending the championship on-site.

4. Native Module Development: Integrating the SeatGeek SDK, which lacks a React Native library, necessitating the creation of native modules for both iOS and Android.

5. SSAI Pre-Roll Ads Support: Modifying the existing Brightcove-player React Native library to support SSAI pre-roll ads, leading to the creation of a forked version with enhanced capabilities.

Solution

1. The mobile application solution features a fully dynamic navigation system and screens that adapt based on navigation paths and item types fetched through a GraphQL CMS. This ensures flexibility and scalability, allowing content updates and new features without extensive code changes.

2. The video media experience was enhanced by extensively modifying the Brightcove-player React Native library to support SSAI pre-roll ads. This involved forking the library and adding necessary enhancements to meet the advertising requirements.

3. The mobile application uses the Urban Airship SDK and Gimbal adaptor to send location-based notifications. This integration ensures targeted messaging based on users' geographic locations, with Urban Airship handling efficient delivery and Gimbal providing precise location tracking.

4. To integrate SeatGeek SDK, we implemented a native modules for both iOS and Android, ensuring seamless functionality within the React Native framework despite the absence of an existing library.

Technology stack

ReactNative
Urban Airship SDK
Gimbal
Brightcove-player
React Navigation
Tanstack Query
Firebase
Firebase Analytics
Lottie
MobX-state-tree
React-native-mmkv
Google Mobile Ads
GraphQL
React-native-webview
Next projectHerewith — Designing a Better Way to Access In-Home CareHealthcare