Freedman International: an AI localisation pipeline

9 min readSimon BudziakBy Simon Budziak

On this page10 sections

Freedman International is an international marketing partner to many global and scaling brands. One of their services involves adapting global advertising campaigns for local markets. A brand hands over one master campaign, and Freedman returns versions that read, look and land correctly in every country it runs in, across every platform and every output size.

That work is skilled, and much of it repeats. Every market needs its copy adapted, its imagery checked for cultural fit, and every format produced and reviewed against the brand’s own rules. Freedman set out to build Conductor, a pipeline that would let AI carry the preparation while its producers kept every decision that matters. Soba Labs joined Freedman’s technical team in June 2026 for an R&D collaboration and built the reasoning core of that system over the following four months: a multi-agent system on Amazon Bedrock, built with LangChain, LangGraph and Langfuse, the technologies we specialise in.

The challenge

Localising a campaign is not one task. It is a chain of judgements, and each depends on the one before:

  • What does this brief require, including the brand rules nobody writes into the brief?
  • Which elements of the master design carry meaning, and which are safe to change?
  • What will read badly in a given market, and why?
  • Does each finished asset still respect the brand once it is resized for every platform?

A single prompt cannot hold all of that. A wrong call early, such as a misread brief, travels silently into every market and every size. Freedman’s brands also carry thousands of standing rules. The system had to find the rules that apply to each job, reason over them with retrieval-augmented generation, and make every step’s output explicit, checkable and binding on the steps after it. That is the difference between an agentic workflow a business can rely on and a demo.

Why localisation resists automation

Most marketing technology helps a person edit a creative asset faster, from a dashboard. That speeds up the hands but leaves the judgement where it was: with the producer who knows the brand, the market and the platform. Localisation is mostly judgement. A headline that works in one language runs long in another, a gesture or a colour can mean something different across a border, and a line of small print that is optional in one market is required in the next.

Those judgements are rarely written down in one place. They live in brand guidelines, past campaigns, feedback threads and the heads of experienced producers. Conductor’s premise was that if those rules could be captured and kept current, AI could do the preparation against them and people could spend their time on the decisions that need them. Much of our work was making that premise testable.

How the engagement ran

The work began with two deep-dive days in June, one online and one in person in London, where we and Freedman’s architect set the scope and the technical approach. Delivery then ran as five fixed-scope sprints, and the engagement concluded at that point. Across them we worked on rule retrieval, the feedback loop, brief analysis, quality assurance and orchestration.

Freedman’s architect owned the design and every promotion beyond the development environment. Soba built to his specifications, and each sprint closed only on Freedman’s acceptance.

How we worked together

Soba Labs worked as part of Freedman’s technical team, not as a supplier handing over finished components. A few habits made that work:

  • A daily written update. Every working day closed with a short note on what had moved, what was blocked and what came next, so Freedman could follow the build without needing a meeting to do it.
  • Decisions in writing. A design call could change a plan within the hour. We wrote each decision down where the whole team could see it, and re-read our open tickets after every call rather than before it.
  • Reviews that start from purpose. Design reviews did not stop at editing a document. They went back to what each step was for, and more than once that moved a piece of work to a different point in the flow or removed it.
  • A simple first cut, with a reason to revisit it. Both teams shared a dislike of over-engineering. We built the simplest version we believed in, named the signal that would show it was not enough, and changed it when that signal appeared.

A knowledge base the agents can trust

An agent is only as good as the rules it retrieves. Freedman’s rule base had grown to thousands of active rules. Many were not tied to a consistent key, so the same idea could appear several times under different labels, and retrieval returned too much. Too much context is as harmful as too little, a problem we describe under context engineering.

Together with Freedman’s subject matter experts we designed a structured, deduplicated rule base, signed off by Freedman before use, which significantly reduced retrieval noise. Each job pinned the exact set of rules it ran on, so any decision could be traced back to the rule behind it, a working audit trail rather than a log nobody reads.

People decide, the pipeline prepares

The design rule was simple: AI does the preparation, a person makes the call. The pipeline took a campaign from brief through to packaged deliverables, with human approval at key decision points where the producer approved, edited or sent the work back. Retries were capped under a fixed retry policy, and results the system could not resolve were held for an operator instead of passing through quietly. This is the human-in-the-loop pattern, applied at every point where a mistake would be expensive, and consistent with the NIST AI Risk Management Framework.

One early decision mattered more than most. The first design asked the model to score its own confidence. We replaced that with a deterministic confidence gate built from measurable signals, such as whether the rules agreed and whether every claim cited its source. A model’s opinion of itself cannot be audited; a rule-based gate can. We explain the approach in deterministic confidence gates, and the same idea routes uncertain answers to clinicians in our Shen.ai patient education case study.

Engineering for production, not for a demo

The pipeline had to hold up against real campaign material: large layered master designs, dozens of markets’ worth of rules, and model output that is never quite the same twice. Much of the work was making it dependable, the discipline we call harness engineering:

  • Tests and tracing. The reasoning service was covered by automated tests, and every model call was traced in Langfuse with its inputs, outputs and cost, so a wrong answer could be diagnosed after the fact. That is what LLM observability means in practice.
  • Resilience. Bounded retries for dropped connections and model transport failures, and normalisation that stops trivially different outputs from failing a strict check.
  • Speed where it counts. Cultural assessment originally ran market by market, too slowly for the largest markets. Running assessments concurrently brought even the largest market inside its time limit.
  • Fixing model output at the source. Structured output from the vision model went from mostly invalid to consistently valid after a schema and prompt fix.

What the work delivered

  • A pipeline that ran end to end. In certification runs, fresh jobs passed every step, with quality assurance passing and multi-market, multi-format social deliverables sealed.
  • Depth of cultural analysis. Each market assessment surfaced grounded risks, each tied to a source, with blocking risks flagged for the producer. Grounding every claim in a source is the main defence against hallucination.
  • A structured rule base. Deduplicated, approved by Freedman and reusable beyond this pipeline. Freedman sees a further use for it in cultural market research.

What we learned together

The engagement taught both teams a great deal, and these are the lessons we now carry into every multi-agent build.

Build one step completely before starting the next. Conductor’s components were built and tested one layer at a time, against specification, and wired together late. Some gaps only appeared once the whole flow ran, and tuning that could have started months earlier waited for the orchestration to exist. Building each step end to end, interface, reasoning and wiring together, lets the client test real work from the first sprint. We now run every multi-agent build this way, and it is the first thing we check in an AI readiness review.

Check work where it is created. When a step produces something, the cheapest place to verify it is that step, not two steps later. Every failure a late check catches costs a full rework loop, so we now ask why a check sits where it does before anyone builds it.

A step is done when an operator can use it, not when its tests pass. Component tests run against fixtures and simulated screens. Freedman’s pilot testing walked the real journey: submit work, leave, come back, retry, and compare the screen with the data behind it. That kind of testing finds what component tests cannot. We now take every step through the operator’s real path, with real client material, before calling it finished.

A pilot tests judgement as much as software. A rule base is only as good as the rules people write into it, and both teams shaped together what a good rule looks like. We learned to treat review screens as a way of learning how to write those rules, not only as pass or fail gates.

Measure the time that matters. Total elapsed time and model generation time are different numbers. When a market looked slow, most of the wait turned out to be queueing rather than the model. Separating the two before treating latency as a defect kept us from tuning the wrong thing.

Planning a multi-agent system of your own? Talk to us or see our other case studies.

References

Discuss a build like this