Back to Projects
WeRoad Corporate Website preview

WeRoad Corporate Website

Senior Frontend Engineer · May – Aug 2024

TypeScriptVueNuxtTailwind CSSNuxt I18nVitestCypressGitHub Actions
mobile conversion+25%
avg session+90s
cart abandonment-15%
Situation

Business Context

WeRoad had grown from an Italian startup to a multi-country travel platform operating across Italy, Spain, France, and the UK. Their existing website was a single-market Italian build — tightly coupled content, hardcoded copy, and no infrastructure for localization. Each new market launch required duplicating the entire codebase and maintaining divergent forks, creating a maintenance nightmare that slowed expansion.

Task

Technical Challenge

Rebuild the frontend to support multi-country deployment from a single codebase. The challenge was threefold: implementing a robust i18n system that went beyond simple string translation (market-specific imagery, pricing formats, legal disclaimers), creating a shared component library that allowed per-market customization without forking, and doing it all without disrupting the live Italian site that was generating revenue.

Action

Approach & Decisions

I architected a Nuxt-based platform with a layered content strategy. At the base, a shared component library provided consistent UI across markets. Above that, a content layer used a combination of i18n keys and market-specific content modules that could override defaults. I chose Nuxt's built-in i18n module over a custom solution after evaluating three approaches — it gave us route-based locale prefixing, lazy-loaded translation bundles, and SEO-friendly hreflang tags out of the box. One decision I reconsidered: I initially planned to use a headless CMS for market content, but after prototyping, I realized the editorial workflow added complexity without enough benefit for the team size. We went with structured JSON files instead, which the marketing team could edit via PR reviews.

Result

Outcomes

Launched 3 new country sites within 4 months from a single codebase. Mobile conversion increased 25%, average session duration grew by 90 seconds, and cart abandonment dropped 15%. The shared component library reduced per-market development time from 6 weeks to under 2 weeks.

Architecture

System Design

Decisions

Key Technical Decisions

Content Management Strategy

Chosen

Structured JSON files with PR-based editorial workflow

Alternatives Considered

Headless CMS (Contentful/Strapi), Database-driven content

Reasoning

Prototyped Contentful integration but the editorial overhead didn't justify the complexity for a 3-person marketing team. JSON files gave us version control, PR reviews for content changes, and zero additional infrastructure costs.

i18n Architecture

Chosen

Nuxt i18n module with lazy-loaded translation bundles

Alternatives Considered

Custom i18n solution, vue-i18n standalone

Reasoning

Nuxt's built-in module provided route-based locale prefixing and automatic hreflang generation. Custom solutions would have required reimplementing SEO optimizations that Nuxt handled out of the box.

Market Customization Pattern

Chosen

Component slot overrides with market-specific content modules

Alternatives Considered

Feature flags per market, Separate component variants

Reasoning

Slot-based overrides kept the shared library clean while allowing markets to inject custom content (legal disclaimers, local payment methods) without touching shared code.

Impact

Before & After

Market Launch Timeline

Before

Each new market required 6+ weeks of development with a dedicated team forking the Italian codebase.

After

New markets launch in under 2 weeks using the shared platform with market-specific content modules.

Translation Bundle Size

Before

All translations loaded upfront (~180KB).

After

Lazy-loaded per-locale bundles (~25KB initial load), with remaining translations fetched on navigation.

Available for new opportunities

Want results like these for your product?

Let's collaborate to build fast, accessible, and high-converting digital experiences that drive real business impact.

Let's Talk

Currently available for select consulting engagements and full-time roles.

Response time: under 24 hourshi@ken.tf