← Selected work

Atlas / Public interactive demo

A travel journal
on a living globe.

An interactive record of places and journeys, with a globe and map that stay part of the same visual world.

Interactive mapping · Local storagePublic interactive demo
Atlas showing visited places on a world map

Give journeys a shape.

Atlas is a travel journal built around an interactive globe and world map. Places become points, sequenced trips become routes, and a timeline lets someone revisit the order of a journey. The hosted sample provides an immediate way to explore the product without creating an account.

The interface keeps the world central. Search, statistics, lighting, and timeline controls support exploration rather than competing with the map. A globe-to-map transition preserves continuity: the places belong to the same world, even when its presentation changes.

One transition, shared geometry.

The application uses Three.js with dot-matrix land geometry. The globe and flat map share positions for land, borders, markers, and routes; a shared morph value interpolates the scene between them. This keeps the transition coherent across the layers instead of swapping two unrelated screens.

The homepage uses a much smaller SVG interpretation of that interaction, based on the same public-domain land data. It illustrates the idea without loading the Atlas renderer into the portfolio. The full application remains a separate destination with its own controls.

Local storage needs an honest boundary.

Atlas stores the journal in the browser. There are no application accounts, analytics, or cloud-sync promises. Export/import lets people keep a JSON backup, and the product documents that clearing browser data or changing profiles can remove access to local records.

Local-first design is useful only when its trade-offs are understandable. Backup guidance and retention information are therefore part of the product, not something reserved for a technical document.

The release matters too.

The repository documents self-hosted fonts, a production asset build, security headers, deployment smoke checks, and a three-engine browser test matrix. Those are maintained release concerns, rather than decorative portfolio claims.

This case study describes a public interactive product. The portfolio release verifies its destination is reachable; it does not rerun every Atlas test. You can inspect the experience directly.