Holibob Docs

Configuration

Environment variables, cookies, and development setup for the Storefront.

Environment variables

VariableDescriptionDefault
NEXT_PUBLIC_GRAPHQL_API_URLGraphQL API endpointhttps://api.production.holibob.tech/graphql
NEXT_PUBLIC_STAGEDeployment stage (local, preview, production)
GOOGLE_MAPS_API_KEYGoogle Maps integrationHas default fallback
DD_ENVDatadog environment
DD_SERVICEDatadog service name
HOLIBOB_API_KEYAPI authentication key
HOLIBOB_API_SECRETAPI authentication secret

Cookies

The Storefront uses cookies to persist state across page loads:

CookiePurpose
holibob-analytic-link-origin-codeAnalytics tracking origin
holibob-consumer-trip-identifier-valueConsumer trip ID or code
holibob-consumer-trip-identifier-typeTrip identifier type (ID or CODE)
x-holibob-client-side-consumer-tripClient-side trip data
x-holibob-destination-nameSelected destination
x-holibob-destination-idDestination ID
holibob-advanced-modeFeature toggle
x-holibob-currencySelected currency
x-holibob-languageSelected language
x-holibob-api-modeAPI mode (sandbox/production)

Internationalisation

Supported languages

CodeLanguage
enEnglish
esSpanish
frFrench
deGerman
itItalian
nlDutch
ptPortuguese
arArabic

Language is resolved in order of precedence:

  1. Cookie value (x-holibob-language)
  2. URL query parameter (language)
  3. Browser Accept-Language header
  4. Distribution channel default

Currency

Currency is resolved in order of precedence:

  1. Cookie value (x-holibob-currency)
  2. URL query parameter (currency)
  3. Consumer trip sale currency
  4. Distribution channel default

Development

Prerequisites

  • Node.js 22.x
  • pnpm

Setup

# From the monorepo root
pnpm install

# Start the development server pointing to production API
cd experience-marketing-platform
pnpm dev:production

Available scripts

ScriptDescription
pnpm dev:productionDev server with production API
pnpm buildBuild for production (4GB Node heap)
pnpm tscRun TypeScript type checking
pnpm lintRun ESLint
pnpm testRun unit tests
pnpm test:watchRun tests in watch mode
pnpm test:coverageGenerate test coverage report

Deployment

The application is deployed using SST to AWS with the following infrastructure:

  • CloudFront — CDN with custom cache policies
  • Lambda — Server-side rendering (Node.js 22.x)
  • S3 — Static asset storage
  • Route 53 — DNS management
  • Secrets Manager — Sensitive configuration
  • Datadog Lambda — APM instrumentation (production only)

Domains

EnvironmentDomain pattern
Production*.emp.holibob.tech
Preview*.v3.storefront.{stage}.preview.holibob.tech

Deploy commands

CommandDescription
pnpm deploy:productionDeploy to production
pnpm deploy:previewDeploy to preview environment
pnpm destroy:previewRemove preview deployment

Lambda warming

In production, a warming function runs every 5 minutes to keep Lambda connections warm and reduce cold start latency.

Monitoring

Datadog integration

  • RUM (Real User Monitoring) — Tracks page loads, user interactions, and browser errors.
  • APM (Application Performance Monitoring) — Server-side Lambda performance tracking.
  • Custom eventsConsumerAvailabilityAddToCartEvent and ConsumerProductShareEvent for business metrics.

Image configuration

Remote images are permitted from:

  • images.holibob.tech
  • images.pexels.com
  • media-cdn.tripadvisor.com