Multilingual AI Content Engine: Researched, Translated and Checked Before Publishing

Case study

Multilingual AI Content Engine: Researched, Translated and Checked Before Publishing

All case studies

I built the content engine behind vaiibe.com, a site published in French, English and Arabic. It researches a topic with live web search, drafts a structured article from those notes, translates it section by section and prepares SEO fields for each language. Automated checks catch untranslated pages and style violations, and nothing goes live until I review it.

3
Languages per article
5
Steps from research to SEO
4
Translation defects detected automatically
100%
Content edits backed up before writing

The problem

Publishing in three languages triples the writing work, and the shortcuts usually make things worse.

  • Translations lag behind. French and Arabic pages end up half in English or filled with placeholders, and search engines index them anyway.
  • Generic AI text damages trust. It states facts nobody checked and carries recognisable tics that readers spot immediately.
  • AI search changes what gets cited. Assistants like ChatGPT, Perplexity and Google AI Overviews quote pages that offer a short self contained answer and verifiable claims, which a classic blog post rarely provides.
  • Bulk edits are risky. One wrong script run can overwrite dozens of pages with no way back.

The approach

I designed the engine as a pipeline where every step has one job and every write can be undone.

Research first, writing second

An article goes through five steps: research, draft, humanise, translate and SEO extras. The research step uses live Google Search grounding and returns notes with their source URLs. The drafting step then writes only from those notes, with an explicit rule: if a fact is not in the research brief, it is not stated. It can also produce a cover image and an audio version of the article.

Built to be cited by AI search

Every article carries a 40 to 60 word answer paragraph that stands on its own, plus three to eight verifiable fact claims linked to their sources. Glossary entries, comparisons and FAQ answers have their own generator with the same structure.

Translation that can be verified

French and Arabic are translated one language per model call, which keeps long HTML clean. A single shared rule decides whether a page counts as translated, and the sitemap, the public pages and the batch tool all use it. It detects four defects: a placeholder, an empty field, text identical to English, and English pasted into the Arabic version. A page that fails the rule stays out of the sitemap automatically.

Guardrails before any write

Content changes go through a patch tool that audits first, shows the full diff, then writes. It refuses long dashes, flags a corporate plural voice, blocks protected fields like slugs and publication status, and backs up every document before touching it, so any run can be restored.

Outcome

The engine produces and maintains the multilingual content of vaiibe.com today.

  • One article, three languages: each piece ships with French, English and Arabic versions and SEO fields for each.
  • No half translated page in search: untranslated versions are kept out of the sitemap by construction.
  • Every change is reversible: each bulk edit is backed up and can be restored by its run identifier.
  • The human stays the editor: the engine prepares drafts, and I decide what gets published.

The engine runs on a lightweight Gemini model, which keeps the cost per article low enough to maintain content in three languages continuously. It is part of the VAIIBE project.

Tech stack

Genkit
Gemini
Google Search grounding
Next.js
Firestore
TypeScript

Related services