Skip to main content
Glama

A favorite artist. A film that stays with you. Where next?

You know what you love. You may not know which New York place to try.

PARALLAX turns two or three familiar artists or films into one shared shortlist. Qloo discovers places and ranks that same shortlist through each cultural reference. When those perspectives disagree, an exact decision model selects a comparison that could help you choose.

Your answer can change the recommendation. Removing it rebuilds the decision.

Actual PARALLAX studio with a selected place, high-resolution venue photograph, cultural references and an editable shortlist.

Actual studio capture using restored Qloo observations. Header animation is an original workflow illustration. Venue-photo credits remain visible in the studio and are documented in attribution.

Related MCP server: eodiseobwa-mcp

Follow one decision

Bring

Compare

Choose

Confirm two artists or films. Qloo supplies cultural associations across domains.

Answer a useful A/B question. Both, neither and skip remain distinct.

Inspect a place, explore the city map, correct an answer, or save your preferences.

Try Radiohead × Grand Budapest in the live studio. Choose Find my places, answer a comparison, then open 1 choice beside the history icon and remove that answer. Inspect what changes. No login, purchase or judge-supplied API key is needed for the hosted studio. Exact walkthrough →

Qloo is the foundation

flowchart LR
  A[Confirmed artists / films] --> B[Qloo place discovery]
  B --> C[One shared shortlist]
  C --> D[Qloo ranks each cultural lens]
  D --> E[Exact comparison selection]
  E --> F[An explicit human choice]
  F --> G[Updated shortlist + map]
  F --> E

Qloo provides both discovery and reference-conditioned rankings. Without those inputs, this workflow cannot prepare its culturally grounded candidate set. The adapter preserves the official discovery and supplied-shortlist contracts; it does not claim to execute the native Qloo harness.

  • One common set: at most ten place identities, with coordinates in the supported New York area and coverage under every cultural lens. Missing ranks stay missing.

  • A question with a purpose: a finite preference model evaluates expected reduction in modeled decision regret. Up to three relative choices; it can stop earlier.

  • A decision you can correct: answers are recomputed from a clean prior when changed or removed. Neither creates reversible current-outing vetoes; both and skip invent no relative preference.

  • A complete studio: comparisons, animated shortlist, before/after view, map, evidence, local preferences, field notes, and responsive licensed photography.

Decision methodology · Experience design · Photography

Give an agent the same tool

The parallax_advise MCP tool exposes resolve, prepare, advise and forget over one local stdio bridge to the public HTTPS backend. An assistant can obtain a comparison and ask the person to answer it. Supplied answers use the same decision engine as the studio.

After installing dependencies, run a real protocol demonstration:

npm run demo:agent

It confirms declared sample identities through Qloo, prepares a shared shortlist, applies a scripted demonstration answer, removes it, verifies the original decision is restored, and forgets temporary evidence. No key is printed or required by the public tool user. This is an actual MCP client invocation; no LLM is invoked by this demonstration. It consumes the public service's finite provider allowance.

Connect your MCP client →

Run locally

Node 24.x and the committed npm lockfile are required. Self-hosting needs your own authorized Qloo credential, a Postgres database, and a random session secret. The hosted studio already has its own configured backend.

npm ci
cp .env.example .env.local
# Set QLOO_API_KEY (or QLOO_KEY_FILE), SESSION_SECRET and DATABASE_URL privately.
# Apply server/migration.sql to your dedicated Postgres database.
npm run dev

Open the URL printed by the server. Credentials stay on the server. Configuration, database setup and quotas →

Evidence you can reproduce

npm test                 # Decision, HTTP and photographic-asset checks
npm run evaluate         # Seeded synthetic comparisons; not a human study
npm run build            # TypeScript + production client
npx playwright install chromium
npm run test:browser     # Actual UI + MapLibre with synthetic API fixtures

Evidence

What it establishes

18 unit/HTTP/asset tests

Independent decision oracle, answer semantics, scoped API boundaries, and 89 decodable image editions

8 browser cases

Comparison/undo, save/restore, map control and recovery, mobile/retina photography, motion and contrast

1,600 synthetic executions

Declared policies and preference generators, including unfavorable comparisons and model mismatch

Deployed integration checks

Actual Qloo retrieval, browser flow, and MCP protocol behavior; recorded separately from fixtures

The verification record states the scope and limits. Synthetic results do not establish human enjoyment or universal recommendation superiority. Automated accessibility checks are not a full accessibility certification.

Inside the repository

Path

Responsibility

src/

React studio, MapLibre explorer, local preferences, photo catalog

core/

Pure TypeScript model, exact comparison selection, stop rules

server/

Qloo adapter, signed sessions, input validation, atomic shared quota ledger

agent/

MCP stdio bridge to the public HTTPS backend

tests/ · e2e/

Decision, API, asset and browser verification

docs/

Methodology, operation, evaluation, integration and attribution

Boundaries that matter

The first edition helps someone choose one New York place to try. Cultural association does not certify enjoyment, opening hours, entry conditions, accessibility or safety. The studio does not book venues or infer sensitive traits.

Studio preferences stay in IndexedDB on the person's device. The MCP bridge transmits explicitly supplied answers for transient backend computation; it creates no remote personal profile. Session-scoped provider evidence expires after thirty minutes. Exported preferences exclude credentials and bulk provider content.

Runtime operation requires no mandatory generative model, paid map API, or image subscription. Provider grants and free-service allowances remain finite. Unknown or ambiguous venues keep their Qloo ranking and receive an explicit photo placeholder. Privacy and operation →

License

Application source: MIT, Kathirvel R. Third-party photography, fonts, map software, map data, and Qloo content retain their individual licenses and terms. Attribution and rights →

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Preference-aware events discovery MCP server that aggregates events, restaurants, and cultural activities across multiple sources and re-ranks them against your personal taste profile to surface things you'd actually want to do.
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to resolve and search taste entities and tags, get recommendations, demographics, and taste analysis, and run an audience-finding agent that turns a creative work description into audience affinities, local places, and a ready-to-use pitch.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables venues to discover taste-matched acts and artists or agents to find fitting rooms and cities through Qloo's taste graph. It exposes booking-focused tools for agent use over a remote MCP endpoint.
    1 npm
    MIT