Skip to main content

How to build tournament bracket graphics with external data

Prepare a spreadsheet with tournament bracket data using a header row for field names. Import a Rive bracket graphic into FUSE and connect the external data source. Map data columns to graphic element

Written by Julian Rodrigues
Updated today

Overview

External data sources allow FUSE graphics to display information from spreadsheets and APIs that isn't part of the standard LIGR data model. This guide walks through building a tournament bracket graphic that pulls bracket data from an external spreadsheet, mapping data columns to graphic fields, and using ChatGPT to efficiently batch-update expressions for multiple bracket rounds.


Prerequisites

* Access to the FUSE graphics editor


* A Rive file designed for tournament bracket display


* An external data spreadsheet with bracket/round data (team names, scores, progression)


* The spreadsheet must include a header row that FUSE can map to field names


Prepare your external data spreadsheet

Create a spreadsheet with your tournament bracket data. The first row must contain headers that will become field names in FUSE (e.g., Round1_Team1, Round1_Team2, Round1_Score1). Include all rounds from quarterfinals through to the final.


External data spreadsheets must have a header row — FUSE uses these headers as field names for expressions.


Import the Rive bracket graphic into FUSE

Drag and drop your Rive bracket graphic file into the FUSE editor. The graphic should have text and image elements for each bracket position. FUSE will detect the Rive file's exposed inputs and make them available for data binding.


Connect the external data source

In FUSE, navigate to the External Data section and connect your spreadsheet. FUSE reads the header row and creates named fields for each column. You can then reference these fields in expressions.


External data can come from Google Sheets, CSV files, or API endpoints.


Map data columns to graphic elements

For each bracket position in the graphic, create an expression that references the corresponding column from the external data. Repeat for scores, logos, and progression indicators.


Batch-update expressions using ChatGPT

For a tournament bracket with many positions, export the expressions, then use ChatGPT to generate the full set for all rounds and positions. Provide the pattern for Round 1 and ask it to generate Rounds 2 through 4.


ChatGPT is particularly useful for batch operations like wrapping all expressions in upper(), adding set filters, or changing data references.


Preview and verify bracket data

Use the FUSE preview to verify that all bracket data displays correctly. Check each round, ensure team names and scores are in the correct positions, and verify bracket progression logic.


Test with sample data first before connecting live tournament data to catch any mapping issues early. External data updates in the spreadsheet are reflected in the graphic without needing to re-publish.


Did this answer your question?