ElarisLabs × McDonald's Qatar McDonald's Qatar
A campaign for McDonald's Qatar McDonald's Qatar, with ELAN Media ELAN Media
Inside ElarisLabs

10.4M impressions from a billboard that knew how hot it was.

McDonald's "Taste the Mixperience" went live across Doha on screens that read the real temperature outside, in real time. The hotter the city got, the harder the ice-cold Sprite payoff landed. Here is how we turned one flat PSD into a living, weather-reactive campaign.

What ran. ElarisLabs built a weather-reactive digital out of home campaign for McDonald's Qatar, live on a nine-screen network operated by ELAN Media across Doha, in English and Arabic, with each board reading the real temperature and swapping creative as the city heated up. It delivered 10.4M impressions and 5.6M video views from one approved master.

Last updated 11 September 2026

DOOH × Live Data Doha, Qatar Sprite × McDonald's ~7 min read
Doha · feels like 45°

Live on a screen, not a render.

This is the actual panel running in Doha. The number on it is pulled from the real weather, and it updates while the campaign is live.

QIIB tower, Doha. One of nine venues across the city.

The brief

One PSD. Nine venues. Two weeks.

McDonald's Qatar launched two new Sprite mixes for the summer: Passionfruit mixed with Sprite, and Watermelon mixed with Sprite. The plan was a full out-of-home takeover across Doha, nine venues, both languages, on every screen format the city runs.

The brand handed us one thing to start from. A single layered PSD. Everything that happened next, the motion, the live data and the build, was ours.

Taste the Mixperience product reveal: Passionfruit and Watermelon mixed with Sprite, on a Doha billboard
The product reveal frame, live on a vertical LED in Doha.
The idea

Make Doha's heat the media.

In a Qatar summer, the most honest thing a cold drink can do is admit how hot it is outside. So we let the ad say the temperature out loud.

The creative reads the real feels-like temperature, turns it into a live "Thirst Score," and then cuts it to zero. Forty-five degrees of heat, dropped to FEELS LIKE 0°C, straight into the ice-cold Sprite mix.

Billboard showing the live temperature, 45 degrees, in Arabic Real heat · 45°
Cools to 0°C
Billboard showing Feels Like 0 degrees with the Watermelon Sprite mix The payoff · 0°C
The Arabic board in Doha reading درجة الحرارة 45° ٤٥°
The same Arabic board in Doha later in the day, reading درجة الحرارة 42° ٤٢°
The same Arabic board, photographed twice. The number is read from the live feed, not baked into the artwork, so it moves with the city.
The build

From a flat PSD to a living creative.

We pulled every layer out of the file: fruit cutouts, ice, sparkles, type, mascots, and rebuilt the whole thing as animated HTML. No exported video files, no per-frame baking. Just code that plays frame-perfect on whatever screen the city throws at it, in English and Arabic.

The creative is not a video of the idea. It is the idea, running live.

Each panel runs the same five-beat story, and the first three beats are filled in by the weather, the moment it loads.

01

Temperature

The real air temperature in that venue, right now.

02

Feels like

The real-feel number, the one your skin actually believes.

03

Thirst Score

How thirsty Doha is at this exact minute, scored live from the heat.

04

Feels like 0°C

The cool turn. The whole screen drops to ice.

05

The Mixperience

Passionfruit and Watermelon Sprite, the reveal you were thirsty for.

The live layer

A small piece of software behind every screen.

The live part is quiet by design. A Cloudflare Worker wakes up on a schedule, reads the weather for every venue, computes the Thirst Score, and writes it all into one tiny cached file. The creatives just read that file when they load.

So the screens never wait on an API, the data never goes stale mid-loop, and every panel across the city shows the same live number at the same time.

ON A SCHEDULE · THE DATA LAYER Weather API Live feels-like temperature, for all 9 venues the Worker fetches the temp on a timer Cloudflare Worker Runs on a cron timer · computes the Thirst Score writes the latest numbers weather.json One small cached file, served from the edge ON EVERY RENDER · THE SCREEN A screen renders the creative On every DOOH panel, each time the loop plays on load, it checks the current temp Reads weather.json Pulls the live number for that exact venue gets the live number back Shows the temperature live on screen Real heat in, the right number out, in real time every render, checks again the screen reads this file
How thirst gets scored, inside the Worker Thirst Score = clamp( ( feels-like − 25 ) / 30 × 100 , 0 , 100 )
If the network ever blinks, each screen falls back to a short local copy and a baked-in number, so the panel never goes blank.
9
Doha venues, end to end
18
Creatives, 9 sizes × 2 languages
2
Languages, English and Arabic
LIVE
Temperature, refreshed through the run

One PSD in. A weather-reactive campaign across the city out.

Why it matters

One master design. Every screen the city runs.

Roadside LED, mall portrait panels, vertical poles, ultrawide screens. Same master design, adapted cleanly to every ratio, in both languages, with the live layer wired into all of them.

The unlock was never one good frame. It was building the creative and the software as a single thing, so what used to take a studio weeks shipped from one platform in days.

The same master, mirrored for Arabic.

The English board live on a Doha tower reading FEELS LIKE 0°C
English, live in Doha.
The Arabic board live on the same Doha tower reading درجة الحرارة 45°, with the logo mirrored to the top right
Arabic, live on the same screen.
The Arabic master artwork, mirrored from the approved English master: logo top right, joined Arabic type, Eastern Arabic numerals
The Arabic master it came off.

The Arabic boards are not separate artwork. The composition mirrors, so the logo and the payoff move to the side an Arabic reader starts and finishes on. The photography does not flip. The type is reset in the Arabic face from the brand kit at a higher line height, and the safe zones are recalculated for the mirrored layout. That is the difference between localising an ad and translating one, and it is covered step by step in RTL ad localisation.

How it was made.

  1. Weather triggerA live feed reads the real temperature in Doha and resolves it to a band, so the board knows whether the city is warm, hot or brutal right now.
  2. Creative variantEach band maps to a variant derived from the one approved master, in both languages. The temperature reading is composited into the frame rather than sitting in an overlay.
  3. Nine screensThe resolved creative is pushed to the nine-screen ELAN Media network across the city, refreshing as the reading changes through the day.
10.4MImpressions
5.6MVideo views
9Live screens
EN + ARFrom one master

The production method behind it is the same one used for catalogue campaigns: one approved master, a locked brand kit, and every output recomposed rather than cropped. See Arabic and RTL ad creative at scale, creative automation, or the 530-variant retail case study.

Great advertising starts with knowing the moment.

ElarisLabs is the AI-native creative operating system for brands. Mixperience is what happens when the design and the software are built together, so a campaign can react to the real world while it is live.

Built with ElarisLabs. In partnership with ELAN Media. For McDonald's Qatar.

See more from ElarisLabs →