Leveraging design for politcal change

Data-driven political campaign social card design

Solutions and Outcomes

I volunteered with Tactical.vote to help produce a series of digital banners for distribution across the UK before the 2019 general election. Tactical.vote used open source data provided by Democracy Club to determine which party was most likely to unseat the incumbent party in each of 589 constituencies.

Creating 589 unique banners manually would have taken weeks of work, and since the final data would not be available until shortly before the election, we needed an automated, scalable solution.

To solve this, I set up a master design template in Adobe Illustrator and leveraged the variable data function to link a cleaned CSV file containing the constituency names and recommended party logos. This allowed the design to automatically populate with the correct information for each constituency.

I then used Illustrator's batch export function to generate all 589 banners in around 20 minutes—a process that would have been impossible to achieve manually in the available timeframe. The final assets were handed off to the Tactical.vote team for distribution to local campaign teams, who shared them widely across social media.

Although the campaign didn’t succeed in shifting the political balance in 2019, it significantly raised awareness of tactical voting. The experience and momentum built from that campaign contributed to a more organised and effective effort in the 2024 general election, which saw tactical voting play a more decisive role.

Industry

Politics

Timeline

4 weeks

Role

Graphic designer

Tools

Illustrator, Photoshop

Design process

Although Illustrator and other Adobe tools are typically used to create assets one at a time, Illustrator’s powerful data linking tools allow designers to create a master design and link it to a data file. This enables rapid generation of multiple assets by automatically iterating through the data, saving time and ensuring consistency across a large set of outputs.

Raw data from campaign team

Sanitised data ready for import

Binding data to variables