Case study 01

Sofascore · Fantasy

Sofascore Fantasy

Building a Fantasy productthat could only exist inside Sofascore.

I joined as the sole Product Designer when development started and helped shape Fantasy from an early hypothesis into a live, multi-competition product.

The experience connected competition discovery, squad management, live scoring and player analysis through data users already associated with Sofascore.

Ownership

Sole designer

From development start

Product status

Live

Multi-competition product, still evolving

Internal analytics

392K

users created their first Fantasy team during the World Cup

Competition HomeMy TeamPlayer Decision
Role
Product Designer
Timeline
2024 - Present
Platforms
iOS · Android · Web
Scope
MVP to global product

The opportunity

Sofascore already had the audience.Fantasy created a new reason to return.

Fans already opened Sofascore to follow matches, results and statistics. Fantasy transformed that passive match-following behaviour into an active cycle of preparation, decisions and live outcomes.

The opportunity was to create a scalable product that could increase engagement, support competition partnerships and use Sofascore's existing sports data as a meaningful product advantage.

Before Fantasy

Follow the match, check the result and leave the experience.

With Fantasy

Prepare, make decisions, follow live points and return for the next round.

The product loop

Fantasy was not one feature.It was a connected sequence of decisions.

Each surface had a distinct role, but together they supported one repeating journey across every round.

01

Enter

Competition Home

Understand the current round, track points and continue with the most relevant action.

Sofascore Fantasy Competition Home showing the current round and points.
02

Manage

My Team

Set the lineup, manage transfers and react while the round is still active.

Sofascore Fantasy My Team screen for managing a fantasy squad.
03

Decide

Player Modal

Compare form, price, fixtures and expected output before committing to a player.

Sofascore Fantasy player modal containing fantasy decision information.
04

Compete

Competitions

Join leagues and tournaments through one system designed to scale across competitions.

Sofascore Fantasy competitions screen.

Product loop

Build a team. Make a decision. Follow the outcome. Then begin again in the next round.

Fantasy ecosystem

One entry point connectedevery competition and season.

The Fantasy tab brought active, discoverable and completed competitions into one destination.
Sofascore Fantasy competitions screen showing active and popular competitions.

Central Fantasy destination

Manage what you play and discover what comes next.

Bottom navigation was the main entry point, while promotional banners across competition and player surfaces brought users into Fantasy at relevant moments.

01

Return to active competitions

Reopen competitions already in progress and understand the current round, deadline and overall progress.

02

Prioritise what matters

Reorder active competitions so the most relevant leagues remain easiest to access.

03

Discover relevant leagues

Find promoted, popular and regionally relevant competitions worth joining next.

04

Revisit previous seasons

Access finished competitions and basic information about teams built in earlier seasons.

Swipe through capabilities

Product hierarchy

Competitions supported discovery and return, while Competition Home and My Team remained the core repeat-use experience.

Major product decisions

Three decisions shapedhow Fantasy felt and worked.

The product needed a distinct scoring identity, a hierarchy that supported repeat use and enough depth to serve both new and experienced Fantasy players.

01

Scoring identity

Make Sofascore Rating part of Fantasy scoring.

The problem

Fantasy Premier League already had a familiar bonus-point model. Repeating it would have reduced onboarding friction, but it would not have given the product a distinct reason to exist inside Sofascore.

The decision

We connected Fantasy points with Sofascore Rating, match events and player statistics. The scoring model rewarded performance through a system users already associated with Sofascore.

Product consequence

The game gained its own scoring identity while turning existing sports data into a meaningful product advantage.

Fantasy player modal showing a scoring breakdown for Kylian Mbappé.
Fantasy player modal showing a scoring breakdown for Lionel Messi.
02

Information hierarchy

Put the next important decision at the top.

The problem

As Fantasy grew, Competition Home accumulated more information. Current points, active players, deadlines and team-management actions began competing for the same attention.

The decision

We reorganised the screen around the current round, the most relevant team action and the next deadline without changing the mental model existing players had already learned.

Product consequence

The screen became easier to scan because the hierarchy changed, not because the entire product was redesigned.

Evidence from live use

Post-tournament analytics showed significantly higher average Fantasy engagement on deadline days, reinforcing how important time-sensitive decisions were to the product rhythm.

Sofascore Fantasy Competition Home showing the competition name, tabs, team, round overview, primary action and deadline.
03

Different player needs

Keep Fantasy approachable without removing strategic depth.

The problem

First-time players and experienced Fantasy managers used the same product with very different expectations. Beginners needed confidence, while experienced players wanted enough information to make deliberate decisions.

The decision

We used clear primary actions, progressive information and deeper player breakdowns so complexity appeared when it became useful rather than all at once.

Product consequence

The goal was not to remove complexity. It was to reveal the right amount at the right moment.

Evidence from live use

392K users created a Fantasy team for the first time during the World Cup, making first-time usability a real product requirement rather than an edge case.

Sofascore Fantasy My Team screen with clear primary team-management actions.
Sofascore Fantasy player modal providing deeper information for player decisions.

The screens changed because the priorities behind them changed.

Inside Competition Home

One screen supported the full rhythm of every Fantasy round.

Competition Home needed to work before matches, throughout live play and after the final player had finished. Its priorities changed with the state of the round, while the destination remained familiar.

The experience connected round status, the next deadline, live player performance, Team of the Round and Fantasy news inside one continuous screen.

01/05

Round overview

Fantasy Competition Home showing the competition name, tabs, team name, round overview, points and players in action.

Understand the current state of the round.

The top of Competition Home establishes the competition, team, active round, current points and players still in action. The complete purple overview remains visible before the first Top players card begins.

02/05

Next action and deadline

Fantasy Competition Home showing the Manage team action and deadline for the next round.

Know what to do next and when to do it.

The same overview surfaces the primary team-management action and the next deadline, making it easy to understand what requires attention before the following round.

03/05

Top players

Fantasy Competition Home showing Top players and Top player by round modules.

Follow the best-performing players as the round unfolds.

Top players and Top player by round highlight the strongest performers across the entire Fantasy game. The rankings update as matches are played, helping users see which players are delivering the most points.

04/05

Team of the Round

Fantasy Team of the Round showing the highest-scoring players from the previous round on a pitch.

See the best possible team from the previous round.

Team of the Round combines the highest-scoring players from the previous round into one ideal lineup, showing what the strongest possible Fantasy team could have looked like.

05/05

Fantasy news

Fantasy Competition Home showing player price changes and Fantasy news.

Support the next decision with timely Fantasy updates.

Price rises and drops, player updates and Fantasy-specific news give users useful context between rounds and help them prepare for their next transfer or lineup decision.

Swipe through experience

Key takeaway

Competition Home made each phase of the round understandable without forcing users to relearn the product whenever its priorities changed.

Player Modal evolution

From player informationto decision support.

Each iteration reduced the distance between understanding a player and confidently making a Fantasy decision.
01

Surface information

Bring essential data together.

Price, recent form, fixtures and player information became accessible inside one compact surface.

First iteration of the Sofascore Fantasy Player Modal.
02

Improve comparison

Connect past form with future opportunity.

A clearer hierarchy made recent performance and upcoming fixtures easier to evaluate together.

Second iteration of the Sofascore Fantasy Player Modal.
03

Support the decision

Final

Help users judge what could happen next.

Predictive metrics and richer fixture context transformed the modal into a decision-support surface.

Final iteration of the Sofascore Fantasy Player Modal.

Swipe through iterations

The progression

The modal evolved from explaining the playerto reducing uncertainty before a decision.

Price

Can I afford the transfer?

Recent form

Is the player delivering now?

Fixtures

What is the short-term opportunity?

Expected output

Is the potential worth the risk?

Where engagement concentrated

Users spent the most time around active Fantasy decisions.

My Team and Transfers were the most time-intensive Fantasy surfaces during the World Cup. The strongest engagement concentrated around evaluating the current squad and deciding what to change next.

The Player Modal supported that wider decision journey by bringing relevant player signals closer to the moment a transfer decision was made.

My Team

12min

average engagement per user

98.3K total hours

Transfers

13.2min

average engagement per user

63.9K total hours

Internal product analytics from the World Cup period also showed that engagement increased significantly on deadline days, aligning with the importance of time-sensitive transfer and squad-management decisions.

Product evolution

The product became clearerthrough iteration, not reinvention.

The core Fantasy model was established early. Each release refined hierarchy and actions without disrupting what existing players had already learned.
Fantasy prototypes and product iterations inside the working Figma file.
Prototype explorations and product states from the working Fantasy design file.2024 - Present
01

Stable foundation

Keep the core model familiar.

Competition discovery, team management and live scoring remained the foundation as the product expanded.
02

Continuous refinement

Clarify priorities with every release.

Hierarchy and primary actions evolved as real use revealed what deserved more attention.
03

Product continuity

Improve without forcing relearning.

Changes preserved the mental model existing players had already built.

We changed the product when evidence revealed a clearer path, not simply because a newer design looked different.

Reflection

What building Fantasychanged in how I design products.

Strong product design rarely comes from one perfect solution. It comes from balancing user needs, product goals and technical reality, then improving the experience together over time.
01

Decision clarity

Design around decisions

The biggest lesson was not how to display more information. It was how to reduce uncertainty before an important user decision.
02

Product reality

Treat constraints as product inputs

Technical realities, business priorities and delivery constraints often led to more resilient solutions than the original ideal state.
03

Continuous learning

Improve the product through use

Fantasy became stronger through real feedback, continuous iteration and close collaboration between product, design and engineering.

The best solution is rarely the most ambitious one.It is the one users, product and engineering can successfully build together.

Final reflection