Ruiz traces the PlayStation App from its 2011 launch, with features such as friends’ online status, trophies, and PlayStation news, through the addition of separate messaging and community apps. In 2017, the app was rewritten in React Native, demonstrating that the team could build a full-scale app with it. As the PS5 generation approached, the team looked at how apps like Facebook, Instagram, Uber, and TikTok had expanded beyond their original uses.
Scaling of the PlayStation App with React Native
Speaker
Fernando Ruiz of PlayStation discusses how the team scaled the PlayStation App with React Native at React Native EU 2023, hosted by Callstack.
Planning for the next generation meant answering how the app could grow, how more people could contribute, and which features to build. The team set goals for speed, scalability, agile development, and new experiences with each PlayStation generation. Reviewing the earlier codebase revealed overlapping concepts such as Core and Mobile Core, which made it harder to place code and onboard developers.
The team redesigned the app as a monorepo with application, feature, and core layers. The application layer handles startup, navigation, and coordination; feature packages contain feature-specific code; and core packages provide foundational, app-agnostic functionality. Features depend on core, while feature-to-feature coordination goes through the application layer to reduce coupling.
Ruiz says the app grew from about five to seven major features to more than 20, while contributing teams expanded from two to more than 17 across the United States, Japan, Canada, and India. With code ownership in place, weekly pull requests rose from roughly 10 to more than 60, and monthly releases were 99.8% crash-free among tens of millions of monthly active users. The larger codebase also made onboarding, component discovery, reuse, and estimating feature impact more difficult.
The team is assessing the New Architecture, exploring ways for users to have the features they care about, and improving governance for teams adding features. Ruiz’s closing advice is to agree on processes and concepts that fit the app, follow them, and adapt them as needs change.
Takeaways
- Define clear module boundaries before the number of features and contributors grows.
- Route feature-to-feature interactions through an orchestration layer to limit coupling.
- Use code ownership to clarify responsibility and support parallel contributions.
- Track growth alongside its costs: onboarding, component discovery, reuse, and feature impact.
- Review architecture and team processes regularly as the app evolves.
Mentioned in this talk
Search inside this talk
What was claimed 12
- launchedPlayStation launched PlayStation App
“The first PlayStation App was released around January 2011”
YouTube Unverified1 source· Talk
- featurePlayStation App: Players could view owned games, friends and online statuses, trophies, and PlayStation announcements.
“Players could see the games they owned directly in the app, see their friends and their online statuses, and view the trophies”
YouTube Unverified1 source· Talk
- launchedPlayStation launched PlayStation Messages
“around 2016 ... we also had the PlayStation Messages app”
YouTube Unverified1 source· Talk
- builtPlayStation built PlayStation Appfully in React Native
“In 2017, we wrote the first PlayStation App fully in React Native”
YouTube Unverified1 source· Talk
- uses
“the first PlayStation App fully in React Native”
YouTube Unverified1 source· Talk
- usesPlayStation App uses Monorepo
“The app was modeled as a monorepo”
YouTube Unverified1 source· Talk
- usesfeatures layer uses core layerFeatures can access core modules; routing between features goes through the application layer.
“The feature layer can only access modules in the core layer.”
YouTube Unverified1 source· Talk
- metricPlayStation App: Grew from around 5–7 major features to over 20
“from around five to seven major features ... to over 20 major features”
YouTube Unverified1 source· Talk






