DANYLO PRAVDAHUB
0%
ALL WORK

AI SYSTEMS — ACTIVE DEVELOPMENT —

Observatory

Your buyers ask an AI who to hire. Observatory watches the answers and files a dated record nobody can rewrite.

by

2 min read

Read this with AI

AT A GLANCE

AT A GLANCEOBSERVATORY
STATUS
ACTIVE DEVELOPMENT
TIMELINE
2026-07 — 2026-07 · 15 DAYS
LANGUAGES
TypeScript / SQL
CATEGORY
AI SYSTEMS
$0–$0.63

COST PER WEEKLY CHECK

OUTCOME

A real weekly record running on the owner's own brand: two sealed weekly snapshots, 96 verbatim answers preserved, 391 brand mentions read on the first, at $0.56 to $0.63 per full 48-question check.

METRICS

$0–$0.63

M.01COST PER WEEKLY CHECK

A full check, 12 buyer questions across 4 assistants (48 answers), metered per call from provider prices verified against their live pricing pages.

0

M.02VERBATIM ANSWERS PRESERVED

On the tracked example brand alone. Each answer is stored word for word with the full provider response archived, so every metric can be recomputed forever.

0

M.03BRAND MENTIONS READ

Who got recommended, in what order, with what sentiment and claims, on the first sealed snapshot. Each extracted mention points back at the answer sentence it was read from. The second snapshot's mention count is not separately recorded in the product's metrics doc, so this states the one that is.

named in 2 of 45, then 3 of 46

M.04THE HONEST STARTING NUMBER

Week one to week two of the owner's own brand. The gut-punch is real: the assistants mostly recommend Zapier, Make, n8n, and UiPath instead.

2 (+2 client runs)

M.05WEEKLY SNAPSHOTS SEALED

Two consecutive weekly snapshots on the example brand, the second filed unattended by the scheduler, plus two third-party brand runs: the acceptance test and a full client journey an agent ran end to end on production. Each carries a hash seal over its answer set.

CH.01

The problem

About half of B2B buyers now start vendor research by asking an AI assistant. That is an outside claim, but the shift is visible to anyone selling. The assistant answers with a short, confident list of names. If a business is not on that list, it never knew the buyer existed. Nothing tells the owner whether the assistants name her company, who they recommend instead, or whether what they claim about her is true. The rented trackers that exist assume a marketer fluent in GEO jargon, and the history they collect stays on their servers.

CH.02

What I built

Observatory is the instrument that watches those answers. A business registers its brand, its competitors, and the real questions its buyers ask. Or it describes itself in plain words and lets a cheap AI pass propose the whole setup, confirmed line by line on a fail-closed screen where nothing unconfirmed ever runs. Every week the system puts each question to ChatGPT, Claude, Gemini, and Perplexity, preserves each answer word for word, reads out who was recommended in what order with what claims and citations, audits the claims about the brand against its real site, and seals the week into a dated snapshot. The database enforces the seal: record tables carry triggers that reject any UPDATE or DELETE, so the history physically cannot be rewritten. That is also why it compounds. Nobody, including the owner, can rebuild last month's answers after the fact.

CH.03

How it works

The web app and its thin API run on Vercel. The heavy work runs on an always-on PC through a durable Postgres job queue, leased with FOR UPDATE SKIP LOCKED, so a rebooted worker resumes mid-run. The reading engine is Claude on a subscription, at zero marginal cost. The four measured assistants run on their real paid APIs, metered per call against prices verified on the providers' own pricing pages. Metering fails closed: a model with an unverified price refuses to run, and a wallet hard cap pauses a run gracefully rather than overspend. Every metric is computed exactly once, at snapshot compile, with its numerator, denominator, and source answer ids stored beside it. The landing autoplays recorded real runs through the same renderer that plays live runs: one component, two feeds.

CH.04

Results

The system tracks its own maker: pravda.systems, weekly, against Zapier, Make, n8n, and UiPath. The record so far holds two sealed weekly snapshots (the second filed unattended by the scheduler), 96 verbatim answers, and 391 brand mentions read on the first sealed snapshot, at $0.56 to $0.63 per 48-answer check. The honest headline the dashboard shows is the product working as designed: the assistants named the brand in 2 of 45 answers in week one and 3 of 46 in week two. An agent-run acceptance test signed up as a stranger, redeemed an invite, ran a real check on a neutral brand for $0.07, and read the verbatim answers behind every number. The weekly report lands in the inbox, and the moat grows by one plate every Monday.

FROM THE OPERATOR'S SCREEN

Monday morning in one sentence: how often the AIs named you this week, who they recommend instead, and what the check cost.
Monday morning in one sentence: how often the AIs named you this week, who they recommend instead, and what the check cost.
The proof surface: the assistant's answer preserved word for word, the reading beside it, and an honest flag when the machine wasn't sure.
The proof surface: the assistant's answer preserved word for word, the reading beside it, and an honest flag when the machine wasn't sure.
The map: every question, preserved answer, rival, and cited page in one field, on the real record.
The map: every question, preserved answer, rival, and cited page in one field, on the real record.

STACK

LANGTypeScriptSQL
FXNext.jsReactDrizzle ORMPlaywright
INFRAVercelNeon PostgresVercel BlobClerkResendAlways-on Windows PC worker (durable Postgres job queue)
AIClaude (subscription engine via CLI) for extraction, claim audits, and report writingMeasured assistants: GPT-5.6 Terra, Claude Sonnet, Gemini 3.5 Flash, Perplexity Sonar ProFormula-locked prompts with versioned metric formulasPostgres full-text search as the retrieval layer (no embeddings)

SKILLS DEMONSTRATED

Append-only record design enforced by database triggers · Multi-provider assistant adapters behind one interface · Fail-closed cost metering with a hard-capped, owner-funded wallet · Versioned metric formulas computed once and sealed, never recomputed · Durable Postgres job queue (FOR UPDATE SKIP LOCKED) with resumable runs · Recorded-replay theater: one renderer for live runs and recordings · Invite-gated access with Clerk as identity only, money in own tables · Agent-run browser acceptance testing on production

NAVIGATE

⌘K to toggle · ESC to close