Sepulka
A recursive environment for thinking.




About


Digital knowledge tools almost universally organize information through fixed structures — folders, tags, outlines, or explicit graphs. These structures demand that a thought be categorized at the moment of capture, before its meaning has settled, and they keep that early categorization frozen even as understanding evolves. Yet much of how people actually think spatially — spreading printouts across a studio table, pinning scraps to a wall, pushing related things closer together — involves meaning that emerges from arrangement rather than being declared in advance.

Sepulka is an experimental spatial thinking environment (working prototype: Field) built to explore this gap. It is an infinite canvas with a flat ontology: every scrap — note, image, link, quotation — is the same kind of object, and there are no folders, tags, or connectors. Meaning is expressed only through proximity, density, and scale. Objects placed near one another form soft, visible regions; when a grouping stays spatially stable, it becomes a nameable "blob"; a named blob becomes an ordinary object at the next semantic level, where the same interaction repeats recursively (artifacts → regions → concepts → concept fields). Zooming does not merely magnify — it moves between ontological scales at which different kinds of entities become perceptible ("ontological zoom"). Abstractions are never created by the zoom or generated by the system; they emerge from repeated intuitive placement and become persistent only when the user recognizes and names them. A capture pipeline (browser extension → inbox → canvas) lets material flow in from everyday reading with its provenance — source, author — intact, so the board can absorb real research practice rather than staged demos. The system is a research probe, not a productivity app: it instruments arrangement, naming, and zoom behavior to study how concepts form.


Question


How might a spatial interface support concept formation by allowing users to move between ontological scales, rather than organizing information within fixed hierarchies?


Hypothesis

Core hypothesis: ideas emerge through spatial interaction and become intelligible at different scales of abstraction — so an interface that lets a thinker move between ontological scales will support the formation of new concepts, not just the filing of existing ones.

Sub-hypotheses, each independently testable:

  • H1 — Arrangement suffices. Proximity, density, and scale are enough to express meaning; explicit structure (folders, tags, links) is not required and its absence lowers the cost of keeping meaning provisional.

  • H2 — Stability precedes naming. Concept formation is observable as a sequence: material accumulates → an arrangement stabilizes → the system surfaces it as an unnamed blob → the thinker recognizes and names it. Naming follows spatial stability rather than preceding it.

  • H3 — One recursive gesture scales. The same interaction loop (place → arrange → blob stabilizes → name) works identically at every semantic level; a named concept behaves as an ordinary object one level up, with no new cognitive rules introduced.

  • H4 — Ontology and visualization must stay separate. Zoom should reveal levels, never create abstractions; when the two are conflated, users lose the sense that abstractions are theirs.

  • H5 — Meaning tracks the present arrangement, not history. A name belongs to whatever grouping its members currently form; when a member is moved away it is released and the name follows the majority. Concepts must be revisable by the same gesture that created them.


Experiments and design decisions


The prototype doubles as its own instrument. Every meaning-making act is logged with timestamps per signed-in participant — object creation/movement/deletion, drag start/end, selection, zoom and semantic-level changes, region creation, naming and renaming, and history navigation (undo/redo/replay) — streaming to a research events table with CSV/JSON export for analysis. The key measurable is the concept-formation moment: the interval between an arrangement stabilizing and the user naming it (H2), and what happens to named groupings afterwards (H5).

Design decisions were made as commitments to the hypotheses rather than conveniences:

  • Flat ontology in the data model — one Node type for everything; "card" and "concept" are manifestations, not classes (H1, H3).

  • Custom canvas instead of a node-graph library — graph libraries assume edges; Sepulka forbids connectors, so proximity had to be the only relation (H1).

  • Emergence by spatial clustering, recursively — groupings fuse level-by-level with an exponentially widening gap, so higher-order blobs form the same way lower ones do (H3).

  • Naming as the only stabilization mechanism — the internal "native vs. emergent" distinction was deliberately removed from the interaction; the only distinction a user encounters is unnamed vs. named (H2).

  • Non-sticky names — a name attaches to the grouping that currently best matches its membership; departed members are released, scattered names go dormant and reattach when the grouping reforms (H5).

  • Zoom reveals, arrangement creates — the semantic-level map foregrounds a layer of the stack; no abstraction is ever created by zooming (H4).

  • Real material inflow with provenance — an Are.na import and a browser-extension capture pipeline (page/snippet/image → inbox → drag onto canvas, carrying source URL, author, slug, and illustration) so studies can observe emergence from genuine research practice rather than synthetic tasks.

  • A timeline/history player — arrangement history can be replayed, making the process of formation inspectable, not just its result.

Alongside the instrumented prototype, the project is documented through a study journal kept in Obsidian — a series of research notes in the research-through-design tradition, each moving from a concrete observation (made while building or using the prototype) to a theoretical commitment. Notes to date include From Semantic Zoom to Ontological Zoom (how the central interaction was reframed), A Board Is Not a Board, It Is a Stack, Flat Ontology, Layered Phenomenology, Ideas Can Emerge at Any Level of Abstraction, and AI as Material, Not Tool — the last reflecting on the development method itself, treating AI-assisted building ("vibecoding") as a design material in Simondon's and Schön's sense. The journal is where design decisions are argued before they harden into code; several (the flat ontology, the removal of the native/emergent distinction) can be traced from journal entry to implementation.


Prototype

Field (the working prototype of Sepulka) is a deployed web application: Vite + React 18 + TypeScript + Zustand, a fully custom infinite canvas (pan/zoom/drag, soft field rendering with gooey blob visuals), Supabase for authentication, cloud sync, and research-event storage, deployed on Vercel. A board is a stack: L0 artifacts → L1 regions → L2 concepts → L3+ concept fields, all occupying the same spatial substrate, traversed by ontological zoom. Companion pieces: a Chrome extension (Sepulka Capture, MV3) with a token-authenticated edge-function endpoint for one-click capture from the browser, and a connections drawer (Sepulka Capture, Are.na) for bringing material in. State persists locally and syncs to the cloud per account; the semantic engine recomputes emergent groupings live as arrangements settle.


Current state

The prototype is live in production (https://field-sigma-livid.vercel.app) and feature-complete for a first study: the full capture-to-canvas pipeline was verified end-to-end this week (extension → edge function → inbox → canvas, with author/slug/illustration provenance); recursive emergence, naming (including release-on-move and rename-in-place semantics), ontological zoom, cloud sync, and research instrumentation all work and are covered by an automated test suite (50 tests) and a build gate. The research-events table, participant workflow (sign in with Google, informed-consent logging), and export tooling are in place — no formal participant study has been run yet; that is the natural next step. Known open threads: the semantic level of a named node is still stored rather than fully emergent (a deliberate deferral — the long-term aim is that level, too, is a manifestation), and the study protocol (tasks, participant count, analysis plan for the event stream) still needs to be written.

The research-events table, participant workflow, and export tooling are in place, and the study journal (six research notes as of late June) documents the conceptual trajectory so far — no formal participant study has been run yet; writing the study protocol on top of the existing instrumentation and journal is the natural next step.

All works   Next →