Rainbow Timeline
The gradient playback rail visualizes seasonal cadence, pause cycles, and movement density without exposing exact private anchors.
A privacy-aware trajectory toolkit for Google Timeline exports: local/static exploration, server UI, CSV export, recap stats, flight inference, basemap swaps, and a production upload-app architecture.
The toolkit ingests Google Takeout exports, coarsens sensitive corridors, and can produce a self-contained deck.gl + MapLibre explorer. Under the hood, the processing pipeline handles timeline parsing, jump-threshold flight inference, rainbow palette recolouring, optional country/state stats via reverse_geocoder, CSV export with timezone reconstruction, and privacy controls for sensitive anchors.
The gradient playback rail visualizes seasonal cadence, pause cycles, and movement density without exposing exact private anchors.
MapLibre style swaps (Voyager, Positron, Dark Matter, or custom URLs) keep the same rainbow palette consistent across continents so the narrative scales from street grid to globe without retooling.
Jump-threshold logic converts long hops into flight arcs, keeping extreme movement separate from ordinary ground trajectories and distance summaries.
Optional reverse_geocoder + pycountry enrichments summarize countries, states, cities, and regions for analysis without requiring manual place labeling.
The draggable console scrubs a multi-year timeline at variable speeds, keeping timestamp readouts, trail length, and exploration mode wired to the same state machine.
The embedded demo uses a safety-filtered personal-history artifact: trajectories are coarse, timestamps are collapsed, and precise private anchors are removed. The project also includes a broader web-upload architecture with authenticated jobs, artifact links, retention controls, audit events, and server-enforced sharing.