Social Impact × AI — Event Installation · 2026
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 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
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.
The hard part
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
The AV team at a charity event gala is not a software engineering team. The delivery format had to be idiot-proof. It is.
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.
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.
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
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
Seen in the wild
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 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
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.
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.