Easy To Spain helps people relocate to Spain — bank accounts, residency, and the paperwork most expats dread. That makes it a content business: hundreds of pages, blogs, FAQs and step-by-step service guides, each maintained in three languages (Dutch, English and German). Keeping that library fresh and consistent is real work — the kind that quietly eats a small team's week.

They didn't want a chatbot bolted onto the public website. They wanted leverage behind it — a way for their own editors to produce good, on-brand, multilingual content faster, without leaving the tool they use every day: their Twill CMS admin.

What we built

We built Twill AI — a custom AI assistant that lives inside the Twill admin panel. An editor opens it like any other section of the CMS, describes what they need in plain language, and the assistant builds it: a landing page, a blog post, an FAQ, a glossary term — as real CMS entries, in all three languages, saved as drafts.

The Twill AI chat panel inside the Twill CMS admin, with a model picker and an empty conversation ready for a prompt.
Twill AI lives inside the CMS. Editors pick a model, describe what they need, and get drafts back — in Dutch, English and German.

It's a chat interface, but the important part is what sits behind it. The assistant isn't dropping loose text into a box. It understands the CMS itself — which content types exist, which building blocks a page allows, which images are in the media library, which authors and keywords it can link to — and it produces properly structured entries that land straight in the editorial workflow.

How it works

Under the hood, Twill AI is a Laravel application talking to the Laravel AI SDK, with the interface built in Vue. The assistant is given a small, deliberate set of tools it can call: read the schema of a content type, search existing content and media, create a draft, update a draft. When an editor asks for something, the model plans the work, calls those tools in turn, and assembles the entry block by block.

A few details are what make the output usable rather than just impressive:

  • Native translations, not find-and-replace. Each language is written on its own terms, so the German reads like German — not like translated Dutch.
  • It respects the page structure. Heroes, text sections, FAQ blocks, calls-to-action — the assistant uses the same blocks your editors would, in a sensible order, and fills in SEO titles and descriptions.
  • It reuses what's already there. It searches the media library for a fitting image and links the correct author or related pages, instead of inventing things that don't exist.
  • Right model for the job. Editors switch between Claude models — Opus 4.8 for big, complex briefs, Sonnet 4.6 as the everyday default, Haiku 4.5 for quick edits and questions.
Twill AI creating a multilingual blog draft, showing the tools it used and a 'review and publish' link to the new draft.
One request becomes a finished draft in three languages — with a direct "review & publish" link. The editor stays the one who hits publish.

Safety was the whole point

The reason a tool like this is safe to run in production isn't the prompt — it's the guardrails built into the code. Twill AI only ever creates drafts. It cannot publish, and it cannot delete. Those aren't polite requests to the model; they're hard rules in the application that the AI has no way to override.

The AI does the drafting. A human still decides what goes live. That single rule is what makes it deployable.

Everything the assistant produces lands in the normal Twill review screen, exactly like content a colleague drafted. Long jobs — a full landing page in three languages, say — run in the background so nothing times out, and the editor watches progress stream in live. If something looks off, they fix it or bin it before anyone else sees it.

The result

Easy To Spain's editors now produce multilingual content in a fraction of the time, in a consistent house style, without handing over editorial control. The repetitive 80% — structure, translation, metadata, internal links — is done in seconds. The 20% that genuinely needs a person — judgement, tone, the final yes — stays with the person.

That's the pattern we like: AI as leverage for an expert, not a replacement for one. It's the same approach we'd bring to your CMS.

FAQ

Can YoTech add something like this to our CMS?

Yes. Twill AI was built for a Twill/Laravel site, but the approach isn't tied to Twill — it's about teaching an AI agent your content model. If you run Laravel, WordPress, a headless CMS or something custom, we can adapt the same pattern to your stack and your content types.

What can an AI agent like this actually do?

Chat-to-drafts is the starting point. From there it's a question of which tools you give the agent. Common additions: web search so it can pull in current facts, an SEO and keyword planning step, automatic internal linking, image generation or smart selection from your media library, bulk edits across many pages, content audits ("which pages are missing a meta description?"), and approval-gated auto-publishing. We scope the feature set to what your team actually needs.

Can it publish automatically?

By default, no — and that's deliberate. Drafts only, a human approves. If you want approval-gated auto-publishing (a trusted editor clicks "approve" and it goes live), we build that as an explicit, opt-in step. The safe default stays the default.

Which AI models does it use?

This build uses Anthropic's Claude models — Opus 4.8, Sonnet 4.6 and Haiku 4.5 — and lets editors switch per task. The architecture is model-agnostic, so we can use other providers, mix models, or run EU-hosted options where data residency matters.

Is our content and data safe?

The assistant only touches drafts, never publishes, never deletes, and every action is logged and reversible. For data residency and EU AI Act questions, we build to EU-compliant standards by default — see our EU Ready page for how we handle that.

Want an AI layer like this inside your own CMS? Plan a call — we'll build it under your brand, white-label.