Services Work Research Product About Contact
Our Product · AI Content Platform

Country Guides

Nine branded travel sites - from Croatia and Italy to France, Austria and Morocco - running on one codebase, with an AI pipeline that researches and writes every destination, attraction and article. A new country is a config file, not a fork.

View a Live Site Build Something Similar
croatian-guide.com homepage - an Explore Croatia hero over aerial Dubrovnik, with Top Destinations below switzerland-explorer.com - the same platform rebranded for Switzerland, hero over Zurich dutch-guide.com - the platform rebranded for the Netherlands, hero over an Amsterdam canal A generated Dubrovnik destination page - rating, region, tabbed attractions and quick facts french-guides.com - the platform rebranded for France, hero over the Eiffel Tower
9
Live country sites on one codebase
4,500+
Attractions researched and written
1,000+
Destinations across the network
38
Stages from research to published page

Build It Once, Ship Every Country

A travel guide has the same shape everywhere: a country, its regions, the places worth visiting, the things to see in them. So the site gets built once. Country, branding, currency, copy and content become data - not a separate codebase per site.

The Same Shape Everywhere

  • Country → region → destination → attraction, the same hierarchy for every market
  • Interest categories - castles, beaches, heritage - cut across destinations
  • Articles, blog posts and multi-day itineraries layered on top
  • Every entity carries its own quality and workflow state

Why Most Multi-Site Setups Rot

The usual way to launch a second country is to copy the first and change some text. Then the two drift. A fix lands in one and not the other, and within a year you're maintaining four codebases that used to be one.

Here there is exactly one application. What makes Croatia look like Croatia and Switzerland look like Switzerland lives in configuration and data, so a fix ships to every site at once and a new market adds nothing to maintain.

Every Page Is Researched, Then Written

No page is typed by hand, and none is invented from thin air. The pipeline finds real places on the open web, then writes them up against a fixed schema so every field lands exactly where the database expects it.

01

Discover

Web search finds the real destinations and attractions for a country. A duplicate check compares each candidate against what's already stored, so the pipeline never re-adds a place it already knows.

02

Write to Schema

A schema-bound model turns each place into a structured record, not free text. Every field is validated against the same Pydantic schema the database is shaped by - a malformed answer is retried, not published.

03

Enrich With Facts

Opening hours, admission fees, how to get there. A separate research pass fills in the practical detail a traveller actually plans around, instead of leaving it to generic prose.

04

Sort by Interest

Each attraction is tagged into interest categories - castles, beaches, history and heritage - so the same place surfaces in every way a visitor might go looking for it.

05

Link and Answer

Articles, destinations and attractions are cross-linked automatically, and common questions get their own FAQ section - useful for a reader skimming, and legible to a search engine.

06

Readiness Gate

Before a country goes live, an automated check audits content counts, SEO metadata, images and internal links. A site launches when it's actually complete, not when someone hopes it is.

Fast Models, Guarded Output

Generation runs on a fast, low-cost model with an automatic fallback chain - if the primary provider stumbles, the next one picks up the same request rather than dropping the job. Because every response has to satisfy a strict schema before it's accepted, speed never comes at the cost of a broken record reaching the database. The schema definitions are treated as the contract between the AI and the app, and are deliberately hard to change by accident.

Nine Domains, One Deploy Pipeline

Each site looks like it was built for one country. Underneath, they share everything that matters and differ only in data.

Identity Is a Config File

Domain, branding, SEO metadata, currency, timezone, analytics and the homepage and legal copy all live in one per-country config, next to that country's content tree. Launching a new market means adding a config and generating its content - not touching the application.

  • croatian-guide.com, italian-guides.com, french-guides.com, slovenia-guide.com, dutch-guide.com, discover-austria.com, switzerland-explorer.com, portugal-guides.com, moroccan-guides.com
  • Same components, different data - no per-site forks to keep in sync
  • More markets already built and staged - Bosnia and Serbia are next, waiting on go-live

A Database Per Site

Each live site is seeded one country at a time and runs its own database and its own application process. Sites stay isolated, and any one of them is simple to reason about on its own.

Deploy Only What Changed

Continuous deployment hashes the shared code and each country's data separately, then ships only the countries that actually changed. Editing Croatia's content never redeploys Switzerland, and a docs-only commit deploys nothing at all - the pipeline does the least work that's correct.

SSL That Survives Deploys

The web server keeps its version-controlled base config separate from the live certificates, so an automated deploy can never overwrite an SSL renewal and knock a site offline.

Thousands of Pages, Each One Findable

Publishing programmatic pages at volume is where SEO usually falls apart: duplicate URLs, thin structured data, pages that render blank without JavaScript. This was hardened for exactly that.

01

Structured Data on Every Page

Destinations, attractions, articles and FAQs each ship the right schema.org type - TouristAttraction, Place, FAQPage, BreadcrumbList - so a search engine reads them as places and answers, not just paragraphs of text.

02

One Canonical URL

HTTPS, www and trailing slashes are normalized to a single canonical address, and filtered or paginated views are told not to index. No page ends up competing with itself for the same search.

03

Rendered on the Server

React pages are server-rendered, so a crawler - or a visitor on a slow phone - gets full HTML immediately. Per-site sitemaps are generated and kept current as content grows.

Nine Countries, Live Right Now

Every number here is a page you can open. Each site runs the same platform on its own domain, with its own content.

Want a Content Platform That Scales?

Country Guides is a platform play: build the engine once, launch a new market from a config file. If you publish content at volume - locations, listings, catalogues - that's the pattern we build.

At capacity for new build work

We're fully booked for new custom builds and embedded roles right now — say hello at tihomir.jauk@lumiverse.hr and we'll reach out when we reopen. Want to use one of our products — Tvrtko.ai, Moj Kolega, Titlomat and more? Those are open — get in touch and we'll help you get started.