Skip to content

One place at a timeWhere my work took me, on a globe.

Experiment · OCT 2026
three.jsTypeScriptNatural Earth

Around the world

Liberia

Ten months volunteering a year after high school, helping build medical clinics across Liberia. For two of those months I lived near Ganta with the doctor who would run the clinic there, his wife and their six children.

With Equip Liberia

Where my work took me. Not every place I've been.

Arrow keys move through the places · Esc closes the card

Everyone has value, the essay

What it is

This globe was made for the essay Everyone has value. Each bubble is a place my work took me, from clinics across Liberia to cities across Canada. It isn’t every place I’ve been.

Drag it to turn it, or pick a place from the list under it. Arrow keys move through the list and Esc closes the card.

How it's built

  1. 01The land is 16,000 points spread evenly over a sphere, kept only where they fall on Natural Earth's land. A build script stores them as runs of sea and land, so the page ships a short string, not a map.
  2. 02Every dot is one instance of the same flat disc, so the whole globe draws in a single call.
  3. 03The bubbles always face you. Each one has a small spring, so it squashes when you pick it and stretches back.
  4. 04Bubbles never overlap. Places closer than two bubbles, like Toronto and Hamilton, are nudged apart on the globe, and the list keeps the real coordinates.
  5. 05It only draws when something moves and stops when it's off screen. three.js loads when the globe comes into view, and without WebGL you get a flat dot map instead.
Next

More from the lab

All experiments
EXP-09 · Canvas 2D · Motion

Into focus

Dots fly in from everywhere, find their own streams, come together and go soft. Then the jh logo lands, sharp.

EXP-08 · TypeScript · SVG · Pointer events

Founding Member

TapBill's first-member card. Type your name and it fills in, sign it with a finger or a mouse, and it tilts toward you.

EXP-07 · three.js · Blender · WebGL

The basement

A 90s basement with a closet of jerseys. Open the closet, flip a jersey, watch the play on the TV.

Home