Skip to content

Signals (Blue Dots)

A signal — a Blue Dot — is a local expression of intent from a citizen or enterprise. The Signals DPG is the network-aware backend that stores signals as schema-typed items and matches them across instances.

Every signal is stored as an item: a versioned, schema-typed record. The item_type is always a schema identifier such as profile_1.0 — never freeform text. This guarantees that two instances exchanging signals agree on structure.

Two fields are generated by the backend during item creation and must never be set by clients:

FieldPurpose
item_instance_urlWhere the item lives.
item_schema_urlThe schema it conforms to.

Signals come from two complementary roles:

  • A seeker expresses demand — e.g. a youth looking for work of a specific trade.
  • A provider expresses supply — e.g. a local employer who needs that exact skill.

The network’s job is to discover and connect compatible seekers and providers that are close in distance but were previously invisible to each other.

  1. Create — a signal is created (directly, by voice, or via an aggregator) and stored as an item in an instance.
  2. Discover — the network performs count-first discovery: it asks peer instances how many relevant items they hold, picks only the relevant peers, and fetches just the needed slices.
  3. Match — candidate items are merged and scored, and matches are surfaced.
  4. Act — an action between two items (e.g. expressing interest) produces an event capturing the structured result.

This count-first, fetch-only-what-matters approach is what lets discovery scale across many instances without every instance querying every other. The implementation detail lives in Read & Write Paths.

  • Direct — a citizen or enterprise creates a Blue Dot through a web or voice interface.
  • Voice AI — signals are captured conversationally, in local languages, at a fraction of survey cost.
  • Aggregators — organisations bulk-create signals for the participants they onboard, via the Aggregator DPG.