Public · Relational knowledge system

Lūm

A local-first environment that keeps time, place, relationships, evidence, provenance and stories connected in one canonical continuum, then projects that continuum as timeline, world, map, dossier and narrative.

Niche
Relational knowledge with time, place, evidence and provenance
Core stack
TypeScript · Vite 8 · Lit · deck.gl/luma.gl
Model
Canonical continuum · occurrences · places · evidence · stories
Focus
Stable identity · coordinated projections · provenance

System view

Events · rangesCategoriesStoriesNarrative workspace

The study

Lūm began as a timeline, but the deeper problem was keeping facts, relationships, places, evidence and interpretation connected.

Chronology remains an essential projection, but it is no longer the product model. The canonical continuum preserves entities, occurrences, places, evidence, provenance and stories so timeline, relational world, map and dossier views can read the same identity without duplicating it.

System structure

Chronology is a projection of knowledge, not its owner.

Events and ranges

Point facts and duration ranges retain distinct temporal semantics.

Categories as a lens

Classification lets a chronology be explored by theme while preserving the common temporal order.

Linked stories

A story selects and relates facts while preserving the source data as its own layer.

Responsive workspace

The same structure remains readable from a phone to a wide desktop view.

Product and interaction design

The product separates canonical knowledge from every view that presents it.

An entity keeps its identity while situated relationships appear as occurrences with time, place and evidence. Stories select and traverse those records without copying them or turning narrative into the source of truth.

Composition changes across narrow and wide screens, but semantics do not. Selection, focus and canonical identity survive movement between timeline, world, map, evidence and story.

Architecture lens

Lūm keeps canonical knowledge outside every renderer and coordinates fast and expensive views through explicit projections.

The continuum owns entities, relationships and occurrences, places, evidence and stories. The retained timeline scene and deck.gl WorldSurface consume projections of that model; high-frequency timeline motion uses a cheap preview path and only meaningful commits wake more expensive filtering or layout.

Continuum before projection

Durable meaning lives in validated canonical records. Force positions, cameras, clusters, GPU resources and other renderer details are derived and replaceable.

Two-speed coordination

Preview during pan and zoom preserves immediate response; committed events bound when the world, graph or more expensive analysis should recalculate.

Renderer state is disposable

Every visible instance resolves to canonical identity and occurrence. Node dragging, camera movement, clustering and force layout cannot rewrite geographic or temporal evidence.

One motion authority per surface

deck.gl owns World camera momentum while the D3 simulation runs on a bounded, refresh-independent solver clock. Avoiding duplicate inertia loops reduces jumps and conflicts between interaction physics and layout.

Development approach

The design process alternates between two views of the same material: strict chronology and the story a person is trying to tell with it.

Experiments begin with real event, range, category and story combinations, together with deliberately constrained screen sizes. Visual ideas enter the shared model when they clarify interpretation and preserve the underlying facts.

Narrative experiments run against working data from the start. Validation and publishing checks preserve factual structure while the presentation continues to evolve.

Back to first case study: Slipmat↻