Skip to content
System One

usenotra/notra

Generative engine optimization platform that tracks brand mentions across ChatGPT, Claude, Gemini and Perplexity. Jev runs its chat router, GEO judge and feedback classifier by default, with LLM fallbacks; the NOTRA_JEV_CLASSIFIERS setting turns it off.

Notra landing page: track your brand’s visibility in AI answers
Image from github.com

usenotra/notra on GitHub

Stars
214
Forks
46
Language
TypeScript
License
AGPL-3.0
Last push
23 Sep 2026

Read from GitHub on . Counts change daily.

Notra is a generative engine optimization (GEO) platform: it runs the questions a company’s buyers actually ask across AI engines, including ChatGPT, Claude, Gemini, and Perplexity, and tracks where the brand gets mentioned, where it gets cited, and who shows up instead. Prompts can be entered by hand, generated from a site’s own content, imported from a CSV, or pulled from Google Search Console as suggestions, and Notra reads the stored answers and cited sources behind the resulting numbers rather than just a mention count.

Jev is on by default for three internal jobs: the chat router, the GEO judge, and the classifier that sorts agent feedback. Calls go through the Vercel AI Gateway, and each job keeps an LLM fallback for when Jev is unavailable. In the feedback classifier, Jev supplies the kind and sentiment while an LLM writes the title in parallel. Notra’s assistant, built on the eve agent framework, also routes each turn between its models. Setting NOTRA_JEV_CLASSIFIERS to off sends the three jobs back to their LLMs and pins the assistant to its everyday model. A code comment puts Jev at about 300 ms p50 and 550 ms p95.

The platform separately ships a @usenotra/geo SDK for telling apart training crawlers, search indexing, assistant browsing, and real human referrals in traffic logs, since a page fetch alone isn’t evidence an AI actually cited the page.

Open on GitHub

More like this

Use cases this is tagged with