GEO measurement engine ====================== Vryse · 2026 How often do AI answers mention your brand? Vryse tracks how brands show up inside AI answers. Each run sends a brand’s prompts to up to five answer engines, works out which companies the answers actually mention and cite, and turns that into Share of Voice and visibility scores. I moved the pipeline from in-request code onto durable Trigger.dev runs with idempotent batches and retry budgets, so a partial failure re-queries only the prompts that failed. I built entity resolution that matches mentions by domain, identity tokens and learned aliases, resolved AI Overview and Vertex redirect citations to real publishers, and moved report reads onto a materialised cache. Along the way: Perplexity’s 429s turned out to be a concurrency ceiling, not a rate limit. How it works ------------ brand prompts → durable fan-out (Trigger.dev) → [ChatGPT | Gemini | Perplexity | AI Overviews | Claude (opt-in)] → company extraction (batched LLM) → entity resolution (domain · tokens · aliases) → Share of Voice (materialised cache) Outcomes -------- - 5 AI answer engines per run - −76% prompt-row reads per report (60 → 14.5 MB) Stack: Trigger.dev, Express, Firestore, OpenAI, Claude, Gemini, Perplexity Link: https://vryse.co https://godnik.in/projects/geo-engine