← Back to work

Social Impact × AI — Event Installation · 2026

Salvation Army
Donation Wall.

Role

Designer & Developer

Agency

Charles Elena

Client

The Salvation Army Australia

Timeline

Under 2 weeks

999 AI-generated portraits — grayscale until a donation lands

The actual installation, running live — 999 grayscale faces lighting up in colour as donations land.

Donation matching mode

When someone doubles a donation,
these come up.

Young man in a tent Mother and child on kitchen floor

When donation matching mode is active, a matched gift triggers a full-screen overlay with a real documentary photo. A young man in a tent. A mother and baby on a kitchen floor. The people behind the statistics. The operator controls it from the admin panel in the next tab.

The brief

Make a roomful
of donors feel
what they're doing.

The Salvation Army's RSA fundraising gala — Sydney, Melbourne, Brisbane, 2026. A room full of people who'd already decided to give. The ask from Charles Elena: take the fundraising thermometer and put a human face on it. Literally.

Not a progress bar. Not a ticker. Something that makes you feel the scale of homelessness in Australia — and feel what it means when a donation lands.

The concept came fast: 1,000 faces. All grayscale. Every donation lights one up in colour. By the end of the night, you can see every person the room helped.

Event Installation Social Impact AI Image Generation HTML / JS Real-time

The hard part

1,000 faces that
actually look like
Australia's homeless.

Stock photography wasn't an option. You can't represent the demographic reality of homelessness with a Getty image library. Hiring photographers and subjects wasn't happening in two weeks on an event budget.

So I used AI image generation — but not just "generate 1,000 portraits." I went to the source: the ABS 2021 Census of Population and Housing. Pulled the actual homelessness demographic data. Built a prompt system from it.

Every single one of the 1,000 prompts is unique. Not variations of the same template — genuinely different people. Each one has 15+ locked variables: age bracket, ethnicity (21 groups weighted to census data), body type, hair, eye and skin condition, expression, clothing for the season, background, focal length, framing, lighting.

"The Aboriginal and Torres Strait Islander representation target was 20%. We hit 20.3%. That wasn't an accident — it was a data problem dressed up as a design problem."

Total generation cost for all 1,000 images at 1K resolution via Replicate: approximately $80 AUD.

What got built

Two HTML files.
One USB drive.
Zero installs.

The AV team at a charity event gala is not a software engineering team. The delivery format had to be idiot-proof. It is.

01

wall-display.html — the main screen

The big screen experience. 40×25 grid of 1,000 portraits. Every face starts in deep grayscale and fades slowly into full natural colour over 3.2 seconds with a smooth cubic-bezier easing. Randomised activation order on every load so the colour spreads organically — alive, not mechanical. Donation matching mode lights a second face with a soft blue glow pulse.

02

wall-admin.html — the operator panel

A second tab on the operator's laptop. Update progress three ways: quick percentage buttons (10%–100%), exact percentage input, or raw dollar amount. Toggle donation matching mode, popup overlays with live copy editors, auto demo mode, idle screen. Green dot shows the display is connected. No network. No server. The two tabs talk via the BroadcastChannel API at sub-100ms latency.

03

Batch Studio — built as a side project

Generating 1,000 images through Replicate's UI would have taken weeks. So I built a browser-based bulk generation tool: multi-batch prompt builder, model selector with cost estimates, auto-download per batch as named ZIP files, session persistence via IndexedDB, a reject/regenerate queue, and the full ABS 2021 preset pre-loaded. Charles Elena now uses it on other projects.

The technical decision I'm proud of

No internet.
No problem.

Gala venues are basements, heritage buildings, ballrooms where the wifi is a coin flip. So I made the call early: this thing cannot depend on the internet. At all.

The admin panel and the display screen communicate via the BroadcastChannel API — a browser feature that lets two tabs on the same machine talk to each other instantly with no server, no websocket, no network. Sub-100ms latency. Works offline.

On the night, the internet went down twice. The installation didn't skip a beat.

Delivery was one ZIP file. Unzip to a USB, open two tabs, done. No installs. No accounts. No config. The AV operator ran it from a written setup guide.

The numbers

1,000
Unique AI-generated portraits, each with 15+ distinct variables locked
$80 AUD
Total image generation cost for all 1,000 portraits at 1K resolution
<2 wks
Concept to AV-ready delivery package
0 installs
Two HTML files. One USB drive. The AV team needed no setup beyond that.

Seen in the wild

From a prototype to a
room full of people.

In 2026 the wall went live at the Red Shield Appeal — the Salvation Army's flagship fundraising gala — across Sydney, Melbourne and Brisbane. I got invited to the Melbourne night. I stood at the back and watched something I built fill the room's screens, lighting up face by face as the donations came in. Seeing your work do the actual job, in the actual room — that's the whole point.

The donation wall filling a full auditorium screen, with the operator's admin panel open on a laptop in the foreground
The donation wall running on the gala's big screen above a full ballroom
Close-up of the wall on a venue screen — hundreds of faces under 'Behind every face is a real story'
Ronaldo at the event with Charles Elena and the Salvation Army shield mascot
The Red Shield Appeal ballroom, stage lit, guests seated at tables

The Red Shield Appeal, Melbourne 2026 — the wall ran on the room's main screens all night. That's me on the left, with Charles Elena and one very committed shield.

What I took away

Data is the
most human
design tool.

The temptation on a project like this is to make it beautiful first. The grid looks great. The animation is elegant. That's not what made it work.

What made it work was the census data. When a donor looked at that wall, they weren't seeing a stock-photo idea of homelessness. They were seeing a statistically accurate picture of the people their money was actually reaching. That's what made it land.

The Batch Studio tool was an accident that became a product. I built it to solve my own problem. Charles Elena now uses it on other client projects. That's the best kind of side project — the one you didn't realise you were building until it was done.

Have an event
or a big screen?

This kind of installation work is something I want to do more of. If you're running an event and want something on the wall that actually does something — let's talk.

Get in touch → ← Back to all work