GPN BusinessDiscoverer

Documentation/ GPN BusinessDiscoverer/ gpn-yp-site-worker

Component registry

The band/block/filter/field/page taxonomy and how it connects to AI-driven page composition.

Article Slug: component-registry Updated: 27 Jun 2026

What the registry is

The component registry at app/components/directory/registry.ts is a metadata catalog of every visual element the YP site can render. It does not contain React components directly — it describes what components exist, what they do, and how they relate to data fields and page surfaces.

The registry has 5 categories with 52 total entries.

Categories

Bands (8 entries)

Full-width horizontal sections that stack to form a page. Each band is a self-contained layout region.

Blocks (13 entries)

Smaller components that live inside bands. Blocks are the building units of each band.

Filter templates (12 entries)

Reusable filter UI patterns. Each template handles one type of user input for narrowing search results.

Field UI mappings (12 fields)

Maps each business data field to its rendering on 5 different surfaces: display, edit, filter, publicCard, and adminDetail. For example, the rating field renders as a rating summary on public cards, a trust score on admin detail, a numeric-range filter, and a number editor.

Page templates (11 entries)

Full-page compositions that combine bands and blocks into a complete route. Templates like directory-home, find-business, about, faq, contact, and business-login define the page structure.

How it connects to AI-driven page composition

The registry is designed to support a future AI-driven workflow:

  1. User enters a natural-language prompt (e.g. "show me reviews of realtors in Amsterdam")
  2. The OpenAI interpreter analyzes the prompt and returns data + component hints
  3. The component hints are registry keywords (e.g. block.business-card, filter.template.checkbox-group)
  4. The site renderer looks up the hinted components in the registry and assembles the page

Because every component has a stable keyword, a description, and a data contract, the AI can select and compose components without inventing new UI shapes. The registry acts as the contract between AI output and site rendering.

Viewing the registry

The full registry is rendered as a live page at /design-system (also /admin/components). Each entry shows its keyword, title, and description.