Skip to content
Korame studio build · 2025

The Travellers Tribe

A brand opening built from one motion value, so no beat can drift

The Travellers Tribe logo  a sun rising over two horizon lines

Capabilities demonstrated

  • Web Development
  • Web Design
  • Responsive Web Applications

Stack

  • React 18
  • Vite 5
  • Motion
  • Tailwind CSS v4
  • sharp
  • Azure Static Web Apps
Overview

What it is

The Travellers Tribe is a small-group journey brand sixteen travellers, guides who live where you are walking, routes through the Dolomites, Nepal, Morocco, Switzerland, Portugal and the Rockies. The site is a single editorial page: destinations, journeys, the manifesto, questions and a way to get in touch.

It is a Korame studio build, developed from the same architectural foundation as NomadNinja and then taken in a different visual direction warm and sunlit rather than cool and graphic. That reuse is itself the point: a design system that can carry two distinct brands is a system rather than a skin.

Challenge

What made it hard

The brief was an opening title sequence that establishes the brand before the site does but a preloader is a toll booth. Every millisecond it holds is a millisecond a visitor spends looking at something they did not ask for, and most implementations make it worse by loading a video or an animation library in front of first paint.

The second challenge is the one every multi-beat animation has: keeping the beats synchronised. A sequence assembled from independent timers, transitions and delays drifts the moment one of them is affected by a slow frame, and the failure looks like a bug rather than a timing issue.

Solution

How we approached it

The whole opening hangs off a single 0–100 MotionValue. The loading line filling with ember, the mark pulling towards the viewer, and the screen parting down the middle are all derived from that one value with useTransform, so no two beats can drift apart regardless of frame timing. The sequence is 3.2 seconds long enough to land the movement, short enough not to become a toll booth.

The animation itself is SVG and CSS rather than video or an imported animation runtime. The gradient sun, sky and rim elements are inline SVG driven by Motion, which means the sequence is a few kilobytes of markup rather than a media download, scales to any viewport without a resolution decision, and adapts to the theme.

Colour was chosen against the brand rather than from defaults: the unlit end of the loading line is a warm paper white rather than pure white, because the site contains no pure white and paper against black is the difference between a title card and a system dialog. The lit end is the exact ember the wordmark is set in, so the line finishes on the logo's own colour.

Below-the-fold content is deferred and code-split, so the intro and the hero have the main thread while the rest of the document waits.

Key features

What was built

  • Single-motion-value intro sequence

    Every beat of the 3.2-second opening derives from one 0–100 value, which makes drift structurally impossible.

  • SVG brand animation, not video

    Inline SVG with gradient sun, sky and rim layers kilobytes rather than a media file, resolution-independent and theme-aware.

  • Deferred below-the-fold architecture

    The document below the first screen is split into its own chunk so the opening is not competing with it for the main thread.

  • Reduced-motion path

    The opening sequence is skipped rather than slowed when the visitor has asked for reduced motion.

  • Generated brand and media assets

    Logo variants, responsive imagery and social cards are produced by sharp-based build scripts rather than exported by hand.

  • Complete technical SEO

    Canonical URL, Open Graph and Twitter cards, a TravelAgency and FAQPage JSON-LD graph, robots.txt and sitemap.xml all shipped, all in the served HTML.

Engineering

Under the hood

Frontend

React 18 on Vite 5 with Tailwind CSS v4 and a tokenised design system, producing a single JavaScript bundle and a single stylesheet.

Motion

Motion with useMotionValue and useTransform as the sequencing primitive, AnimatePresence for the intro teardown, and useReducedMotion honoured throughout.

Media

A muted, looping, playsInline hero video with a poster frame, and responsive imagery generated at build time.

Accessibility

Skip-to-content as the first tab stop, semantic landmarks, and motion that renders its final state rather than a degraded animation under reduced-motion preferences.

Deployment

Static build deployed to Azure Static Web Apps, with robots.txt and sitemap.xml served correctly from the CDN.

Experience & design

How it feels to use

The opening sets the brand's temperature before a single word of copy is read a black screen, a line filling with ember, and the screen parting onto a sunlit hero. It resolves quickly and it never repeats within a session.

The page then behaves conventionally: a single-page anchor nav across Destinations, Journeys, The Tribe and Questions, with a contact section at the end. That conventionality is deliberate. The distinctive part is the entrance; the reading experience afterwards should not make anybody work.

Typography pairs a serif display face with a variable sans for body copy, both self-hosted and subset, so the editorial tone does not cost a render-blocking font request.

Outcome

What came out of it

A brand-led site whose most memorable element the opening sequence is a few kilobytes of SVG and one motion value rather than a media download or an animation runtime.

It also demonstrates the value of a real design system: the same architecture underneath NomadNinja carries a completely different visual identity without a rebuild, which is exactly the property that makes a system worth investing in.

Services

Capabilities this draws on

Tell us what you are trying to build.

A short conversation is usually enough to tell you whether this is a week of work or a quarter of it and whether you should be building it at all.