Perception Anchor
Interactive Web Art, Database / System
2026


The System


i) System Overview

Perception Anchor is a participatory web artwork organized around a read–write database. Its initial records derive from Boulevard, The Word We Got Used To (2026), which documented 227 street-number plaques along Wilshire Boulevard. These numbers serve as indexing keys for querying and retrieving numerically correspondent datasets from the Internet Archive and OpenStreetMap. The retrieved materials are processed offline and entered into the database as seeded records.

The web interface then serves as the point of access to this database. It renders records as interconnected blocks, allowing visitors to navigate between them. The navigation constructs a highlighted path of blocks along user's own choices as they go and reveal blocks, instead of providing a guided route or a panoramic graph. 

The web also enables visitors to write to the database by submitting locative information, text, or images associated with personal memories, and by establishing connections among blocks. New records and established connections are permanently stored after passing the review, and made renderable to subsequent visitors, as an ever-expanding system of recollection. 


Fig. 1.1. Perception Anchor System Flowchat


ii) Database

a) Numbers as Entry Points, Associations as the Central ModelNumbers are pervasive instruments of identification and indexing in contemporary life. The standardized form and ubiquity allow the same numbers to recur across unrelated places and materials, while individuals carry particular numerical associations throughout their lives. A number encountered in one geographical context may therefore recall a personal episode from elsewhere, as an entry point. 

This observation emerged from my photographic and literary inquiry into the street numbers along Wilshire Boulevard. In Perception Anchor, these numbers are designated as "Meaningful Number" within the database architecture and serve a dual function. One, the database level: they operate as the primary indexing keys, organizing records from heterogeneous sources within a shared numerical structure; two, the interface level, each number becomes a clickable visual into the database navigably. 

Fig. 2.1. Meaningful Number 5700
(Left) JSON structure showing records organized under the numerical indexing key 5700.
(Right) 5700 Wilshire Boulevard expanded in the web interface, rendering the indexed records.


b) Database Schema
To accommodate heterogeneous materials, I use a JSON-based data structure to organize three types of anchors: locative information, text, and images. Each anchor is associated with a Meaningful Number root.

Beyond individual records, the database also stores the connections established between anchors. A parent–child relationship is implemented to register the sequence in which connections are made: the anchor initiating a connection is designated as the child, while the anchor it connects to becomes the parent. It looks indicating a causal hierarchy, but this designation only serves data organization and remain traversable from either endpoint on interface at navigation. 


Fig. 2.2. JSON record structure and parent–child linkage under Meaningful Number 5700

c) Data Seeding (Offline)
To improve navigability before user contributions, I batch seeded each Meaningful Number with existing cultural and geographical records by using Python scripts. These materials provide opportunities and exemplars for visitors to discover numerical correspondences and establish personal associations without prescribing their meanings in advance.

Using OpenStreetMap's Overpass API, I retrieved geographical records associated with corresponding street numbers. The Internet Archive Search API was used to retrieve archival materials containing matching numerical references. The data was processed offline, then stored in Cloudflare backend collections.


Fig. 2.3. Seeding Python Script Operating: Batch Acquisition


iii) Interface

a) An Experiential Model of RecollectionPerception Anchor is designed not for the exhaustive reading of its database, but for visitors to experience a mode of associative recollection (a mode of recalling) through navigation and contribution. Without retrieving isolated records through metadata searches or presenting associations as a complete network diagram, the interface progressively reveals connected records through successive interactions. A visitor opens one record, encounters its associations, and proceeds to another, gradually constructing a navigational path through the database. A visitor opens one record, encounters its associations, and proceeds to another, gradually constructing a navigational path through the database. It is through this path that the mechanism of associative recollection becomes legible. (This succession exists at the level of the visitor's experience. It does not indicate the underlying data structure. Connections remain traversable in multiple directions, reflecting the associative, non-linear nature of recollection.)


Fig. 3.1. Sketch for path in data visualization

b) Horizontal / Vertical Organization
To translate this model into a navigable interface, I developed a grid-like spatial structure that assigns each record a relational coordinate across two axes. The vertical axis groups records originating from the same triggering anchor. The horizontal axis represents successive acts of associative recall, following the sequence through which one anchor leads to another.


Fig. 3.2.1. Vertical



Fig. 3.2.2. Horizontal


The interface reveals only one successive level of connections at one click. Each selection expands the interface horizontally, while previously explored records remain highlighted to preserve the visitor's navigational path.  

c) User Submission and Read-Write Operation  Writing and connecting feature share an expandable submission panel that unfolds from the selected anchor, resembling an accordion file folder. The panel preserves the originating record as a visual reference.

 
Fig. 3.3.1. Submission panel


For new submissions, the interface packages textual, locative, and image inputs into a FormData payload and sends it to a Cloudflare-hosted API endpoint via an HTTP request. The server parses the submitted fields and processes them into a new database record, preserving its association with the originating anchor. 


iv) Review Program & Open Data

To manage the growing collection of user contributions, I developed a Python-based data-processing workflow to support record review, maintenance, and publication. The passed records would be transported from a staging area to a permanent master library that contains all anchors. 


Fig. 4.0.1. Review Program Flowchart

The program also publish the downloadable JSON raw file to the website about page after refreshing the master library. In the long term, I envision Perception Anchor as an open-source platform, making its tools and curated public data available for others to access, reinterpret, and build upon.




















back to work list
©KRISTOPHERSHI