Doplax.Dev
← Back to projects
Nil Mariages

Capabilities

  • Multi-language
  • Interactive maps
  • PDF viewer
  • Transactional email

Frontend

AstroAstro
TypeScriptTypeScript
Google MapsGoogle Maps

Backend

NodemailerNodemailer
VercelVercel

Nil Mariages

Completed

Nil Mariages is a qualified travel agent and guide specialising in tailor-made trips and B2B groups. His site works as an introduction and a CV at once: his career, the 42 countries he has visited grouped by continent, real itineraries drawn on the map and day-by-day planning samples — all in Spanish, Catalan and English.

The challenge

Nil was introducing himself to clients and agencies with a PDF. He needed something he could show from his phone mid-conversation, that made his travel experience obvious at a glance, without turning into a site that needed rebuilding every time he visits a new country.

Implementation

  • Content as data, not markup

    Countries, routes and copy live in data and i18n files indexed by ISO code. Country and continent counters compute themselves: adding a destination is one line and there is no figure to maintain by hand.

  • Three languages, properly

    Spanish by default, Catalan and English, each with its own routes and a sitemap carrying hreflang. The dictionaries are typed: declare a field and leave it out of one of the three and the build fails instead of shipping a gap.

  • Real routes on the map

    Each itinerary is an embedded Google My Maps map that only loads once the visitor clicks the placeholder. The map, easily the heaviest thing on the page, never enters the initial load.

  • Read-only PDF viewer

    Sample plannings are shown inside a custom viewer with no download button and no print menu: the client sees the work without walking away with the document.

  • Images optimised by convention

    No picture enters the repository in its original format: everything becomes WebP at 1200 px and quality 74, named after the country's ISO code. Most photos land under 150 KB.

  • A form that reaches the inbox

    Contact goes out over SMTP from a serverless function on Vercel — no third-party services, no embedded forms.