Perfect Play. Chelsea FC’s academy training method, redesigned as a consumer app.
Designed Perfect Play, a consumer-facing football training app developed with elite coaches and sports psychologists from Chelsea FC. Worked as Product Designer across UX, systems design, and prototyping to translate academy-level training into a personalised, scalable digital experience.
Led activity templating, onboarding, AR interactions, and performance mechanics to support adaptive training plans for players of different ages and skill levels.
01 — OverviewWhat is Perfect Play?
World-class football coaching
Perfect Play is a training app designed for the consumer market, made together with some of the main football coaches and sport psychologists from Chelsea FC.
The app is in fact a scaled-down version of the official training method used at the academy; it is tailored to the age and experience of the user in order to bring the right mix of challenge and effort.

How does it work?
The main focus is to create a ‘well rounded’ individual, with skills ranging from Technical, Physical, Football Intelligence and Mental Skills to Lifestyle.
In order to achieve this the team prepared 75+ activities, each with 3–6 levels and stages, resulting in a fully personal training plan that challenges and improves your football skills.

Team structure
I’ve worked in the Product Team along:
- 2 Product Owners
- Project manager
- Juniors academy coach (part time, 2 days per week)
- Sport Psychologist (part time)
- Game designer
- Data Analyst
- Creative Director / Artworker
- Myself, Product Designer ×2
Our Product Team worked along Chelsea’s marketing team and video production among others.

As a product team we were fortunate to use lots of new cool tools, and our mission was also to take time and help others learn the setup.
I’ve helped the team migrate from Sketch to Figma; this move helped us get closer with our developers and facilitate access to everyone to the designs.
Our management was in Asana, where we made tickets to Figma, Google Docs, Notion or Miro.
For user testing we used Lookback and for internal recording Loom.
We used Slack and Teams to communicate, along other tools that we tested on the way.

02 — Design SystemActivities Design System
How to design 100+ activities?
One big elephant in the room when I started the project were all the different activities developed for the app.
Here is a short oversimplification of how we solved the problem by creating a templating system!


Grouping
The first thing was to group activities and create the main categories based on similarities.
Key activities
In every category we found that 1–2 activities would be more complex and always include all the screens that were in others.


User journeys
We created user journeys and validated them with the tech team to review the number of screens and data entries.
Wireframes
For each key screen we created wires.


Breaking up into organisms, molecules & atoms
After the low-fidelity wires we analysed and matched components that can be reused across the app, like atoms.
Each atom (component) had slight variations, like different CTAs of a button.

03 — OnboardingUser Onboarding (Registration & Login)
Prototype
One of the many prototypes used for testing and stakeholder presentation, featuring a simple registration flow with email confirmation.
COPPA registration
In the US we were required to make a special registration flow for kids under 13 years old, compliant with COPPA — a short abbreviation for Children’s Online Privacy Protection Act, enacted by the US Congress in ’98.
TL;DR: Our task was to create a reg flow where we could not store or save any data until their parent or guardian would give its permission. Also, once granted, options to retrieve, admin or modify permissions were created.










04 — FeaturesTraining Plan
Each training plan is unique for each individual, over the data we pull from the onboarding, and it’s designed to always challenge the user to push a bit more via realistic AI-driven goals.
05 — FeaturesSubscription Strategy
Subscription strategy was thought from different views along our colleagues from business planning.
We selected a bunch of apps that were free to play, adding other extras after a paywall.
A series of timed pop-ups were added in a sequence that will not affect the least the overall experience.
Free vs Paid designs were an important task; we thought on creating a more ‘premium’ feel and experience for the paying users, taking patterns of how YouTube and LinkedIn tackle their paying users.
06 — FeaturesDownloads & Preloading
Users can save their content, games, and activities on their device by downloading them through the app. This feature is useful for accessing the content later in offline mode or when experiencing a poor internet connection, such as on a flight. Users can manage their downloads through the app.
Preloading was part of the strategy, working with developers to make the React frontend much faster. In the UX phase we demarcated a flow which is the most likely path a user would navigate through the app, so the loading time was much faster.


07 — FeaturesCreating AR Setups
One bespoke feature on Perfect Play was the AR setup for large-scale 3D objects.
While small or relatively small objects like an IKEA chest of drawers are easy to tap and place, a 7m football setup does not work that easy.
As AR is fairly new, we’ve done our research in apps that are designed for creating floor plans for real estate, and complicated ruler apps.
Here is an article I wrote afterwards about placing large objects in AR:
Placing large 3D objects in AR ✷ Hey, this is an adapted post over an issue that we’ve encountered at Chelsea DV while working on Perfect Play, a football app using AR in order to help folks arrange different games ✷ ✷ ✷ Read the note →
08 — FeaturesDynamic Shooting Game
Dynamic Shooting is an interesting computer-vision training assistant that helps you perfect your target precision.
Before the game starts, the user is requested to set up and mark their gate — the 2×2 matrix where they will receive instructions to aim the ball at.
The challenge was to create a step-by-step, easy to comprehend setup flow, flexible enough to work on a designated football field, but also in their back yard!
AR scanning
Here we have two steps to set up the AR with Apple’s ARKit (as in 2019).
When you start the AR setup, it will prompt to scan your environment to the minimum space required to place the objects.
From here there are two routes: either continue scanning to the desired ideal needs, or start placing objects (and potentially ask later to move and scan more).

Gate setup: left cone
The first step is to place the first point of the gate between the floor and wall.
As ARKit 2019 did not detect walls yet, we needed to rely on users to place the points in the right spot, without any backend validation.

The placing point is in the middle of the screen; while moving your device the AR will follow the plane detected. Once you find the right spot you hit the Plus (+) button and a confirmation (text + sound) will prompt, along the next instructions to move further left to place the next cone.
Gate setup: right cone
Once the user placed their first marker, they will move away the device to the right (or left, as it will be calculated automatically).
Now the gate has a min, ideal and maximum required space.
If the space is too short to set the gate, the ruler will be red and the placement button disabled.

If they reached over the minimum width, the line will be orange and the placement button will be available.
If the user has enough space to reach the ideal size, the point will snap into place (along vibrate haptics) and the line will become blue.
Gate height
Ok, we have now the two points of the gate; we only need the height to start the play! As the users move their screen up, the gate height ruler will show a point to adjust height.

Confirm & place markers
We have the gate setup; now it’s the time to review the position (they can drag and adjust if needed) and set up real-life markers like tape, two bottles of water, clothes etc.

Place phone on tripod
In order for the computer vision to work, it needs a good overview of the gate and starting position. The starting position is the yellow rectangle at a specific distance from the gate (this will vary level by level) where players will be asked to start and remain while playing.

Again, here is the case of a minimum overview (if they are indoors with limited space) and an ideal. We took into consideration that some users may not see the screen while the phone is on the tripod, and added voice and sound feedback.
Move to the starting point
So now, to start, the users will need to just move with the ball to the yellow starting point.
By this point they will only hear the app giving instructions.
The game will start automatically after a couple of seconds they are in the starting position.

Gameplay
Gameplay begins, and the interactions happen only by voice instructions and sound.

09 — FeaturesVolume & Lowlight Notifications
Because some activities were based on instructions only on sound, we were keen to push users to max up their volume; however we did not want to impose strict behaviours that may lead to more blockers in the flow.
So we created 3 levels:
- When the volume is 0–3 the game is not playable; they need to raise it up.
- When threshold 4–8 is reached, the button becomes visible.
- At 9–10 the game will start automatically after a short timer.
10 — FeaturesPerformance Data
We tracked lots of data points from the backend APM; as some were strictly dev-focused, we grouped the ones that helped us to understand user performance.
We needed to create stats that were designed for both personas, as in kids and adults.
I’ve learned that in order to create a good experience incentivising kids, we needed to always reward the positives, compared with the stats for parents where we included a more holistic view.
11 — FeaturesAchievements & Goals
Achievements and goals mechanics are at the heart of the app to drive motivation on perfecting the player’s skill level.
Our philosophy was to challenge themselves and aim always a little higher.
Achievements were levelled Bronze, Silver and Gold, and available from the profile section.
Goals were kinda like missions that combined a set of achievements.
12 — DevelopmentDevelopment
Edge cases
We worked with the development team to map and document the edge cases.

Prototyping
Rapid prototyping for players’ input screens was issued in order to test our interaction hypotheses.

User testing
We conducted user testing sessions that gave us research and valuable insights.
On each session our design team’s tasks were to create prototype(s) of the features or versions we liked to test, and a question list, along the overall facilitation.

Launch
We conducted user testing sessions that gave us research and valuable insights.
On each session our design team’s tasks were to create prototype(s) of the features or versions we liked to test, and a question list, along the overall facilitation.

Thanks — Ruben, Matt, Steve, Nicole, Mikey, Sam M., Sam P., Dan, Cristina & all the Chelsea teams I’ve crossed paths with!

