R/GA's Google I/O post: a laughing attendee in sunglasses shown on a giant retro TV in front of a seated crowd, and a kiosk screen reading 'Welcome to Omnimercial'.

For the launch of Gemini Omni at Google I/O 2026 in Silicon Valley, Google wanted something that showed off what the new model could do: it takes text, voice, photos and video in and turns them into a finished video. Our answer at R/GA was to let anyone at I/O star in their own 1980s infomercial.

You walk up to the kiosk, tell it about your wildly unnecessary product idea, give it your face and your voice, and not long after you’re on a massive retro tube TV in front of everyone, selling it in full, glorious, cosmic-backdrop '80s style.

The brief: prove it

There was a second brief hiding inside the first one. Google didn’t just want an activation, they wanted proof that you could vibe-code a real production app: something that survives a live event, a security review and Google’s (strict) privacy and code-quality standards, not just a demo that falls over the moment a stranger touches it.

So all of it was vibe-coded. Thirteen apps in eight weeks, built in parallel with the design rather than waiting for it. I built all thirteen myself with AI-assisted development, with a small US-based team refining the work while I was offline, so the build kept moving round the clock.

Omnimercial: 'Make things that make things. Build and design in parallel. 13 apps in 8 weeks.' Two screens from the experience: the Omnimercial welcome screen and a finished infomercial playing.

How it works

Under the hood it’s a little AI production crew. Gemini Pro acts as the creative director: it takes your idea and writes the spot. Nano Banana generates the reference images (your character, the location, a logo for your product), and you can tweak and regenerate them at the kiosk until you’re happy. Then Gemini Omni puts it all together into the final video, with you in it.

Generating the video takes around ten minutes, which is a long time to stand at a kiosk, so you don’t. You get a QR code, wander off to enjoy the rest of I/O, and your phone tells you when your infomercial is ready to watch, download and share. Finished videos join a queue for the big screen, and a person approves each one before it plays, because anything a stranger types or says into a kiosk has to come out safe enough to show to a crowd.

Thirteen apps

“Thirteen apps” sounds like a lot for one kiosk, but an event like this is really a small ecosystem. There’s the kiosk itself, the results app that the QR code opens, the admin panel the team on the floor used to moderate videos and run the big-screen playlist, a live event dashboard, and a prompt editor with versioned, composable prompts, so the creative team could tune the scripts and visuals without a deploy. There’s a remixable version of the experience for Google AI Studio, broken down into small apps of its own (brand, character, script, music and the visualiser), plus the backend that ties it all together and a mailer to send people their results.

The frontends started life in Google AI Studio. The backend is FastAPI on App Engine, with Firestore and Cloud Storage, all of it inside Google Cloud. It was hardened to pass every security scan, pen-tested, and signed off against Google’s privacy and code-quality standards.

Building and designing at the same time

With eight weeks and thirteen apps, there was no time for the usual relay race, where design finishes, hands over, and development starts. So we ran them side by side. While the designers were still working out the look in Figma, we were vibe-coding working apps that did the right things in the right order, but on purpose had no brand at all.

The naked apps: an unbranded kiosk screen, 'Input your product', with a text field and suggestions like 'flamethrower bagel toaster'. Unbranded. Functional. But not pretty, yet.

Then the designs started landing in Figma. Anyone in the room can look at a set of screens like these and see the design system in them: the colours, the type, the buttons, the chunky yellow frames. But to apply it across a dozen apps in code, the system has to exist in code.

The designs in Figma: eight Omnimercial screens with their yellow-and-red frames. Source of truth: tokens, components, type.

Enter the Figma MCP server, which was brand new at the time and promised exactly what we needed: point an AI at the Figma file, have it work out the design system, and build it in code. It turned out to be as easy as opening Claude and asking: “Create a reusable design system in code from the screens in this Figma file.”

Once the design system existed in code, we needed to apply it to the apps. So we went the other way: “Apply the design system we just built to the kiosk app.”

Before and after: the same kiosk screen, first plain and generic, then fully on-brand with the Omnimercial yellow frame. Same app, minutes later.

And that’s it. It’s a familiar process for any design and development team, but days collapsed into minutes. The briefing docs, the handover meetings and the rounds of feedback all collapsed into a single prompt.

Under the hood: Figma (the screens) is read through MCP and built into a design system in code (tokens and components), which is then applied to the app (restyled).

“Vibe-coded” gets used as an insult, and fair enough: most vibe-coded apps fall over the moment real people touch them. What made this different was treating the AI as a very fast pair of hands and keeping the grown-up decisions for ourselves: how the apps talk to each other, where the data lives, what gets logged and what happens when it all goes wrong. The speed came from the AI. Passing the security review came from deciding all of that before the code existed, not after.

On the day

I was lucky enough to go out to Silicon Valley and run it with the I/O crowd, and honestly the best bit was just watching people belly-laughing at their own infomercials.

But the real joy was realising that the right people had been brave enough to believe our tiny team could pull this off, in what used to be the time allowed just for discovery and definition. We’re living in the future, and this is just the beginning.

Credits

Built at R/GA with Google and Sparks, the event partner.