Clients
Each client is a company Sensory watches the outside world for. Pick one to configure what's sensed and benchmarked, or add a new one.
Client profile
Enter everything you already know — the client's own channels and each competitor's social handles — so Sensory tracks the right accounts instead of guessing. Multi-value fields are comma-separated. Editable any time.
Generate a research prompt, paste it into Claude.ai (deep research), then dump the returned JSON back here. It fills the client's own channels + competitor handles below — which you then review and edit. Only verified, brand-owned official accounts; never fan/reseller/parody pages.
One card per competitor. Save upserts by name; Remove deletes. The blank card at the bottom is for a new competitor — fill it and Save.
Configure
Edits this client's overrides — tracked metrics and exposure map — applied only to this client. Competitors are managed under Client profile; shared industry definitions in Taxonomy.
—
Each dimension is a relation in the client's exposure ontology — the entities whose news matters to this client. Edit the watched entities; saving replaces that dimension. This grounds which news is on-topic; Core does the weighing (Sensory reports, Core scores).
Core asks. Sensory gathers.
Sensory is the nose: Core asks for the external context around a moved metric (or a window), and Sensory returns all relevant evidence — macro, calendar, competitor, benchmark — structured and source-stamped. Core (the brain) decides how much each factor influenced the signal. Sensory never attributes.
request payload Core sends
request payload Core sends
API tester
Compose a request exactly as Precision Core would send it, and see Sensory's raw JSON response. Pick an endpoint, edit the request, send. Requests run against the currently selected client. · Open Swagger UI ↗ · OpenAPI spec
Send a request to see the response.
API Access
Issue scoped, revocable API tokens for external consumers — Precision Core and any third-party system. The secret is shown once at creation, so copy it then. A token can be pinned to one client (tenant scope) or left unscoped (all clients); every token is a read-only data consumer — mutations stay operator-only.
Operators
Who can sign in to this console. Each operator signs in with a one-time magic link emailed to their address — adding one emails them a sign-in link right away. In production the email link is the only way in; the shared password is dev-only.
Benchmark ops
Generate a Deep Research prompt, import the cited result, run an autonomous refresh, and approve pending benchmarks into production. (See the runbook.)
Country Stats ops
Generate a Deep Research prompt for a country's structural statistics, import the cited result, and approve pending data points into the published time series.
Taxonomy
Manage industries, sub-industries and the industry→vertical routing as data — no code change. Routing decides which exposure ontology and benchmark catalog a client gets from its industry text; the resolver under Routing lets you verify it live.
Higher priority wins on a tie. keyword matches if the pattern appears anywhere in the client's industry text; exact matches the whole string. Falls through to the defaults below when nothing matches.
Pick a base industry to edit its exposure template. Sub-industries inherit their parent's template, so only base industries appear here.
The building blocks of the benchmark catalog. Adding a metric spawns empty benchmark cells across every vertical immediately — acquire their figures from Benchmark ops. A global sanity band is required (the acquisition gauntlet rejects out-of-band candidates). Retiring drops a metric's cells from the live catalog but keeps its published history.
Channels apply to channel-group metrics (e.g. ROAS, CPM) — each live channel spawns a cell per channel-metric per vertical.
Each metric carries a global band (shown in the table above). A per-vertical override narrows the acquisition gauntlet for one vertical only — leave the metric's global band untouched.
Review → Core
Nothing reaches Precision Core until an OpenMinds analyst approves it. Sensory proposes; a human signs off; only then is it delivered.
External context, sensed.
Loading…
| Time | Stage | Client | Model | Tokens | Cost (USD) |
|---|
| Time | Endpoint | Input | Output | Credits |
|---|
| Time | Source | Op | Detail | Units |
|---|
Calendar management
The shared forward calendar — known-future demand drivers used for ranking and relevance (never a causal claim). Public holidays and the major mega-sales/commercial dates are computed automatically; operator events are added below. Hide a computed event to drop it from clients' calendars for a year; retire or delete an operator event you added.
Operator events repeat every year on the chosen month/day and appear in the calendar after the next refresh.
Draft a set with deep research, then import
Add commercial/cultural demand-driver events without code. Public holidays and the major festivals are handled automatically — only add what's missing. Generate a research prompt, run it, then paste the JSON result here to import.
Scheduler
The auto-run board — what each kind runs on, when it last ran, when it's next due, and its current state. Paid kinds pause automatically when their monthly budget cap is reached. Use Run now to trigger a kind on demand (the monthly cap still applies).
—
| Kind | Cadence | Last run | Next run | State |
|---|
Errors
One stream of everything that failed — job runs (with their classified cause), competitor units, macro connectors, and paid fetches — newest first. Budget auto-pauses show in the banner. Read-only: this surfaces what the stores already record; nothing is logged twice.
| When | Lane | Code | What | Message |
|---|
Sources
What Macro Watch crawls — RSS feeds are editable here; targeted & structural sources are managed elsewhere. Each source shows when it was last ingested.
These feeds are read on every macro refresh. Add, edit, disable or retire them — changes flow into the next crawl. RSS feeds report collectively under the rss connector, so per-feed counts aren't tracked; the collective freshness is shown below the table.
| Label | URL | Limit | Enabled | Actions |
|---|
The rest of what Sensory grabs. These aren't edited on this page — they're driven by client config, the taxonomy, or code — but their freshness is shown so you see the full picture.
| Source | What it is | Managed by | Records | Last ingested |
|---|
Live crawls only reach back a few months. To backfill the archive, generate a deep-research prompt for a client + date window, paste it into Claude.ai (deep research), then dump the returned JSON here. Imported events are shared dated facts (no causation), queryable by any client whose window overlaps.
Watch Packages
The shared, subscribable Macro Watch collection units — geo baselines, industry layers and per-client private packages. Each defines a list of crawl query terms; clients subscribe to packages, and the union of their packages' terms is what Sensory crawls + the feed is scoped to. Edit terms, toggle a package on/off, or manage subscriptions here.
All packages
Macro Watch
External macro news collected into your subscribed Watch Packages, broken down by category, topic, keyword and context — in chronological order, unranked. Sensory reports; Core weighs and detects trends.
Watch Packages · what this client subscribes to
Calendar
Known-future demand drivers — public holidays, mega-sales and commercial/cultural events (Mother's Day, Ramadan, 11.11…). These are the windows Core can plan around.
Industry Benchmark
The industry "normal band" for each metric this client tracks — scoped to their industry & channel. Each figure carries a geographic scope (🇲🇾 Malaysia · 🌏 SEA · 🌐 global) and a confidence tier (🟢 verified · 🟡 partial · 🔴 proxy), and a citation.
Country Stats
Structural context for the markets this client operates in — population, incomes, mall occupancy & rents, prices, retail trade and tourism. Cited time series, country-scoped.
Sensory: Market
The market climate report — every section computed from data Sensory has actually sensed for this client's window. Generated on demand; sections that lack coverage say so instead of guessing.
Competitor Movement
Social listening on this client's rivals — Paid, Organic & UGC activity tagged by content, in chronological order, unranked. Sensory reports the moves; Core weighs them.