Case study / interactive data essay / 2026

Wings & Wires

Birds become tracks. People become incomplete records. The project asks why precision itself becomes a political condition of visibility.

Open the interactive story
Medium Scroll-driven web essay
Data Movebank + IOM Missing Migrants
Stack Vanilla JS, Mapbox GL, D3, p5.js
Target Data visualization / visual storytelling

01 / Research question

What does it mean when animal migration is tracked with precision while human migration deaths are recorded through absence, estimate, and fragments?

The project compares two kinds of border-crossing records: GPS telemetry from migratory birds and incident records from the IOM Missing Migrants Project. The aim is not to equate birds and people, but to use the contrast to expose how institutions decide what can be followed, protected, counted, or left incomplete.

02 / Data sources

Two archives, two regimes of precision.

Bird movement comes from Movebank telemetry tracks for a white stork in the Mediterranean chapter and a Swainson's hawk in the Americas chapter. Human records come from IOM Missing Migrants Project data for the Mediterranean and Americas, 2014-2026. The U.S.–Mexico boundary is a simplified overview rendering of the 2025 U.S. Census TIGER/Line international boundary.

Bird GPS Timestamped positions, individual tracks, repeated observation.
Death records Incident counts, location estimates, cause categories, known undercount.
Missing fields Name, full trajectory, testimony, and context are often absent.

03 / Why real GPS

Replacing authored paths with actual movement changed the ethics of the piece.

Early versions could have used hand-authored waypoints, but that would make the bird a symbol. Real telemetry makes the contrast more precise: the bird is not a metaphorical line, but an individual record with dates, pauses, turns, and uneven movement.

The human archive is then allowed to remain visibly incomplete. The project does not try to repair absence with invented detail.

04 / Precision difference

The Americas archive contains mixed location evidence.

The source does not support a simple “precise Mediterranean / imprecise Americas” split. In the current Americas extract, 2,441 records explicitly refer to coordinates, 3,809 name a locality, 337 describe a broad route or region, and 513 leave location unspecified or undetermined.

The chapter therefore keeps coordinate and named-locality records point-like while broad and unspecified descriptions become fields. These are project-derived classes, not IOM source fields: a versioned text rule (derived-location-text-v1) is materialized in the processed data and checked against a stratified sample. The distinction avoids presenting every coordinate as equally certain or every Americas record as equally vague.

05 / Interaction decisions

Scroll is the primary sentence structure.

The narrative is a linear phase machine: opening, tracked flight, border encounter, record accumulation, revelation, local data reading, memorial, geographic transition, and final comparison. Each beat changes one readable visual idea so camera motion, copy, trail growth, and data opacity do not compete for attention.

Bird flight lines interpolate between recorded fixes so motion remains continuous. Discrete trail dots are reserved for observed GPS fixes; generated in-between positions and the authored border stop never use the observation-point mark.

The dim background flock follows a stricter continuity rule: adjacent fixes more than 30 days or 3,000 km apart are split into separate line runs. The missing interval remains empty, and an isolated fix is not expanded into a route.

The map stays frozen during the argument and becomes explorable only in the data cuts. A date slider and density comparison add local inspection, but neither is required to continue.

  1. 01Telemetry establishes the privilege of following one individual precisely.
  2. 02A border trigger turns the tracked line into an incident archive.
  3. 03The revelation number appears without animation, as an already-existing fact.
  4. 04The memorial slows aggregate data back into inspectable records.
  5. 05The ending holds precision, count, and uncertainty on one ledger.

06 / Data uncertainty

Uncertainty is encoded where the source supports it.

The Americas archive does not justify treating every point as equally precise, but it also does not justify blurring every record. The interface separates 2,441 reported-coordinate records, 3,809 named-locality records, 337 broad route or region records, and 513 unspecified-location records. The four labels are project-derived interpretations of the source location text, stored with a method version so they can be reproduced and audited.

Reported coordinate2,441 records remain point-like, with source wording preserved.
Named locality3,809 records retain a locality anchor without claiming survey-grade accuracy.
Broad route / region337 records become uncertainty fields rather than invented points.
Unspecified513 records remain visibly unresolved.

Recorded deaths are an undercount. Coordinates describe where an incident was reported, not the complete trajectory or identity of a person.

07 / Memorial system

The archive wall preserves incidents without pretending they are lives restored.

The Mediterranean memorial orders 3,011 incident records chronologically from 2014 to 2026. Mark size encodes recorded deaths, shape encodes route class, and fill treatment encodes cause class. A slow scan pulse adds temporal presence without changing the data.

Desktop gaze waits 800 ms before opening a record. Touch and pen select immediately. Keyboard users can traverse with arrows, Page Up and Page Down, Home and End, open with Enter or Space, and dismiss with Escape. The selected record is announced through an ARIA live region.

The preceding water interaction uses Pointer Events across mouse, pen, and touch, provides a simple tap response, and allows Escape to release the timed scroll lock. Reduced-motion mode removes looping and sweeping motion while retaining essential opacity changes.

08 / Visual evidence

Current frames from the verified prototype.

White stork telemetry crossing the Mediterranean chapter map
Chapter one / an individual trajectory remains spatially precise.
Mediterranean death records accumulating on the map
Chapter one / tracked movement gives way to an incident archive.
Chronological Mediterranean memorial record wall
Memorial / 3,011 incidents ordered by reported date and encoded by route, cause, and recorded deaths.
Swainson's hawk trajectory stopping at the U.S.-Mexico corridor
Chapter two / the tracked point reaches the corridor before the evidence changes scale.
Americas migration death records with location evidence legend
Americas archive / point-like records and uncertainty fields remain distinct.
Final archive ledger comparing bird telemetry and migration death evidence
Ending / telemetry, recorded deaths, and unresolved location evidence share one ledger.

09 / Iteration

Several visually louder directions were removed.

The opening particle field was reduced after it failed to carry a legible narrative role. Generic cards were replaced by document bands, keys, and ledgers. The bird trail was tuned away from both a thin GPS polyline and a heavy tube into a flowing halftone trace that remains visible after arrival.

The memorial changed from a decorative wave or pillar field into a chronological record wall. The Americas border changed from an authored line into a simplified overview derived from the 2025 U.S. Census TIGER/Line international boundary. These revisions made evidence structure, rather than visual novelty, the source of the work's character.

10 / Production status

A no-build static system with repeatable visual checks.

The project uses ES modules, Mapbox GL JS, D3, and p5.js without a framework or bundler. Automated Playwright routes capture typography, both chapters, the memorial, keyboard selection, mobile tap behavior, and ending layout. The verification server is temporary and cache-free, so tests do not depend on a manually running preview.

The intended publication route is static hosting with a stable public URL, explicit Mapbox domain restrictions, and the full case study published alongside the story.