Before we showed up
One of the world's largest beer brands, with operations across 70+ markets. The same Netherlands-based agency that brought us the enterprise AI knowledge platform project introduced us to the campaign team for one of their premium beer brands. Different team, different brief, same bar for what "good" means at Fortune 500 scale.
The agency made one thing clear upfront: the event demo had a hard date and no buffer for a slow start.
The gap
The brief was video analysis. Analyze campaign footage, surface consumer insights, give the marketing team something useful before launch.
Two calls in, we asked a different question: what does the team actually do when they want to know if a campaign will land? The answer was clear. They wait. The video gets produced, the focus groups run weeks later, and the feedback arrives when the creative direction is already locked.
They did not need a video analyzer. They had 2,500 rows of real consumer research defining exactly who their target consumer was. What they needed was an AI consumer persona they could interrogate directly: ask a question and get an answer in a conversation, not in a report shipped weeks later.
The brief was imperfect. We did not wait for a better one.
What was on fire
Creative teams at large marketing organizations do not test campaigns with consumers in the room. They test with each other, with brand guidelines, and with gut instinct. Consumer research informs the brief at the start and validates the work at the end. Everything in between is guesswork.
That gap is where wrong decisions get made. A visual direction gets chosen because it felt right in a room of twelve people. A campaign tone gets locked before anyone has heard it from the person it was written for. By the time real feedback arrives from focus groups, the production budget is spent and the creative direction is set.
The research existed: 2,500 rows of behavioral, attitudinal, and demographic data fully defining the target consumer. The problem was not missing data. The problem was that the data was a spreadsheet. You cannot ask a spreadsheet a follow-up question, and the data could describe the consumer but could not speak for her.
Most marketing AI tools solve for analysis. They tell you what happened after the fact. This team needed something different: a consumer who could show up before the campaign shipped and tell them honestly what she thought.
The hard part
The first technical problem was the persona data itself. 2,500 rows is too large to pass into any system prompt directly. A naive approach would either truncate the data and lose fidelity, or attempt to summarize it and introduce distortion. Neither was acceptable when the whole value of the system depends on the AI persona responding like a real, specific person with a specific history and set of values.
We built a structured context engine. Every question incoming from a marketer is analyzed to determine which attributes of the persona are actually relevant to that question. The engine selects and injects only those attributes into the model context. The AI consumer persona stays consistent and accurate because she is always built from the right subset of real data, not a summary or a guess.
The second problem nearly killed the demo. Our original avatar tool took between 25 and 96 seconds per video response and stalled unpredictably under load. Two days before the event demo, we switched to HeyGen. The integration went in fast, it held, and the system demoed without a single failure.
Most AI tools optimize for completeness. We optimized for conviction. The persona had to feel like a real person, not a data report with a face on it.
Building the consumer persona
We built a multi-modal pipeline connecting video analysis, persona reasoning, and avatar video generation into a single coherent conversation loop.
A marketing team member uploads a campaign video or types a question directly. Google Gemini analyzes the video content, which passes to a GPT-4 persona layer where the context engine injects the relevant attributes from the 2,500-row persona dataset. The model generates a response in the voice and perspective of the consumer persona, which HeyGen renders as an avatar video. Conversation memory persists across the session so follow-up questions build on prior context.
The multi-persona architecture was built as an extension after the initial deployment. Each marketing team can now define and own their own consumer persona. The default ships as a starting point.
- Week 1-2: Multi-modal pipeline, persona context engine, MVP live with real marketer conversations
- Week 3-4: HeyGen avatar integration, UI polish, settings page
- Week 5-6: Multi-persona architecture, Publicis Azure production deployment
Stack: Python, OpenAI GPT-4, Google Gemini, HeyGen, Next.js, React, Vercel (MVP), Azure (production)
What shipped
The MVP was live at the end of week two. Real marketers were having real conversations with the AI consumer persona before the month was out.
Before: consumer research existed as a 2,500-row spreadsheet. It could describe the target consumer but could not respond. Creative direction was validated after the fact, when feedback could no longer change anything.
After: marketing teams ask the consumer a direct question and get a video response in her voice. They can challenge the response, probe the reasoning, ask about a specific piece of copy, and get a follow-up answer that remembers the prior context. The research became interactive.
When the agency demoed the system at an industry event, the project team was seeing it for the first time. The reaction was immediate. The team was blown away. The story reached the CEO of Publicis within that same conversation, who then asked for a personal demo.
The system is still in use. It has since been extended to a full multi-persona architecture where individual marketing teams can define and own their own consumer profiles. Weekly demos ran throughout the build. Nothing went dark between check-ins.
"We didn't build a focus group. We built the consumer who shows up to it."
In their words
"I just came back from an event where I met the project team and everybody was blown away with what we delivered. They went as far as telling it to the CEO of Publicis who then asked me to show it to her."
Netherlands-based agency partner
What we'd change
We built multi-persona as an extension after the initial MVP shipped. It worked, but the architecture required some rework to accommodate multiple persona profiles cleanly. We would design for multi-persona from week one now. The core conversation loop does not change, but the data model and context engine would be built with multiple consumers in mind from the start rather than retrofitted for one.

