Last updated: June 2017

Leaderboards are used throughout the product as a way of listing the entrants of a given contest, displaying supporting data about each users performance in relation to that contest and when required, providing additional behaviour so the user can to explore the data further. The overall aim of leaderboards within the product is to provide a more engaging and exciting in-play and post contest experience, and enhance the competitive, fun aspect.


Leaderboards are used in a few different areas so a flexible and scalable approach is important to allow for variations in required function while maintaining a predictable set of behaviour patterns. We’re aiming for consistency in behaviour and visual design across platforms and screens sizes as much as possible, while allowing for maximum scannabilty and ease of interaction.

Basic structure

Each leaderboard is comprised of a list of cells which contain several elements. These elements are interchangable depending on the specific leaderboard use but all cells in a given list must contain the same set of elements. Cells are arranged in a vertical list spanning the full width of their container.

Required elements

  • Position rank
  • Won money indicator
  • User avatar
  • HEP indicator
  • Username

Contextual elements

  • Data chunks
  • Commishioner icon
  • Expand arrow
  • Action icons area
  • Expanded content area



Tappable regions

For cells with expanding behaviour, the whole cell becomes a tappable region with the exception of the HEP icon which is tappable independently. When the user taps or clicks within this area the cell expands. The username should appear in Blue in this case to reaffirm this behaviour. For all other cases the username should be Navy.

For cells with additional actions, these should be represented by appropriate icons on the right of the cell and use a dividing line so there is a visual separation from the behaviour of the rest of the cell.

Static cell


Expandable cell


Action cell



16px padding within each cell on all contexts.


  • Username, rank and all data values are $epsilon and data labels are $eta on small screen contexts.
  • Data values can increase to $delta and data labels to $eta on large screen contexts.
  • 32px avatar used in all contexts.


Data spacing

Space between data chunks is 12px on small contexts, 24px on medium contexts, 32px on large contexts and 64px on very large contexts.


Entries treatment

An approach to numbering is required that allows cells to accommodate large numbers of entrants, while maintaining readabilty, yet not impairing the experience when viewing smaller numbers. With this in mind a descending typescale has been used which allows numbers 1-9999 to be viewed within a 40px space without affecting indentation. For numbers 10000-999999 the space for the number increases to 54px. This approach allows the treatment of numbers to remain consistent across all platforms and context sizes. The typescale is as follows:

  • Position 1-99: 16pt
  • Position 100-999: 14pt
  • Position 1000-999999: 12pt


Money and time indicators

On small screen contexts the amount of money won is stacked in a pill element under the username, and the time indicator is stacked with the score. On larger screens both of these elements are afforded their own data chunk. A green band is then added to the rank to indicate money won.


User position

To highlight the users position within a list, the cell background uses Grey lighten2 and their username, rank and score are all set in bold.