Challenge: Agencies couldn't keep up with expansion
Every new market means translating everything.
Hotel descriptions. Landing pages. Legal copy.
The old process: send spreadsheets to an agency. Wait weeks. Copy translations back into the CMS. Hope nothing breaks.
loveholidays sells vacation packages across Europe, with ambitions to expand into new markets fast. But their translation process was holding them back.
"Our first expansion took over six months," said Matt, lead engineer at loveholidays. "The translations alone took at least three months."
The agency cost between £200,000 and £300,000 per year. And the quality? Matt called it "arguable at best."
Beyond translation, they had a content problem. Their hotel content team could manually curate descriptions for about 2,000 top-selling properties. But their catalog has over 50,000 hotels. The rest relied on supplier data which contained inconsistent formats, outdated information, descriptions that were two sentences when they needed two paragraphs.
Hotels with poor content don't sell. And loveholidays was sitting on tens of thousands of them.
Matt and his team saw an opportunity to fix both problems at once.
Solution: Generate first, then translate
Matt's team built a two-stage AI pipeline in Sanity.
Stage one: Generate English content from supplier data. Their hotel content team prompted AI to synthesize information from multiple suppliers into structured descriptions matching their brand voice. The same format their editors would write by hand, but generated in seconds.
"We're grounded in facts from our suppliers," Matt explained. "So we don't get random hallucinated data."
Stage two: Translate into target languages. Once English content exists, editors can trigger translation into German, Dutch, Spanish, or whatever markets they're expanding into. The system uses DeepL's API, and translations flow back into Sanity automatically.
Pro tip
You can translate natively with Sanity Agent Actions. loveholiday's pipeline was created before Agent Actions was released.
The custom plugin in Sanity Studio is simple. Editors select a hotel, choose which sections to generate, pick their target languages, and click a button.

For their long tail of properties, translations publish automatically. For top sellers, editors can review side-by-side before going live. Same pipeline, different levels of oversight depending on business priority.
Launching new markets from Sanity
The translation pipeline unlocked something bigger: market launches driven entirely from Sanity.
loveholidays treats each market as a "site" document in Sanity. Domain, path prefix, locale, currency, and URL templates are all configured in one place. When they're ready to launch in a new country, they create a new site document, trigger bulk translations, and the content flows through.
When we launched into Netherlands, it was basically one request to our services and we had 800 landing pages available. That was maybe 20 minutes to half an hour. Everything was complete.
Matt KoevortSenior Software Engineer
Compare that to six-plus months before.

Every expansion teaches them something new. They've iterated the process so that each launch requires less code and more configuration. The goal: zero code changes for new markets, everything driven from Sanity.
Results: 97% cost reduction, 98% faster launches
The numbers tell the story:
- £300,000+ saved per year. They went from paying an agency £200-300K annually to about £10,000 for DeepL's API. They don't even use the full allocation.
- 6 months → 2-3 days. New market translations that took half a year now take a weekend.
- 50,000+ hotels with AI-generated content. Their catalog went from 2,000 manually curated properties to full coverage.
- Quality that matches or beats the agency. Matt's team found the AI translations were "as good, if not better" than what they'd been paying for.
The pipeline also reacts to supplier updates. When hotel information changes upstream, the system can regenerate and retranslate automatically.
What's next
loveholidays is exploring App SDK to build dedicated workflow tools for their hotel content team. They're also looking at Sanity Functions to automate more of the translation triggers, with granular control over when retranslation should happen.
Sanity is so far beyond a content management system. It's a platform that drives our business. We have configuration for services, payment systems—a lot of things are driven off it.
Matt KoevortSenior Software Engineer
For a deeper look at how they generate hotel content at scale, read the blog by Millie, PM at loveholidays. Also watch this clip from Sanity Everything Conf 2025 where CTOs Michael Jones (loveholidays) and Aleksey Baksheyev (Complex) share how they're scaling operations across teams, injecting AI into core workflows, and using Sanity to power digital experiences.
Watch loveholidays demo this pipeline
See how the engineering team at loveholidays built AI-powered translations that scale with their European expansion.

