IntelliPrompter

A teleprompter of talking points, not a script. Speak in your own words and in any order. About every half second, Jev scores each open point on how far you have covered it (0 to 3), and a point is checked off once its score reaches the threshold.

Your key is stored only in your browser

  • Kept for this tab. It is cleared when you close the tab. Tick "Remember on this device" to keep it until you press Forget key; do that only on a computer you trust.
  • Sent only to the service that bills it. An OpenRouter key (it starts with sk-or-) goes from your browser straight to openrouter.ai. A TypeSafe key goes to the small server you run on your own computer with npm start, which passes it on to api.typesafe.ai. That API does not accept calls from web pages, so TypeSafe keys don't work on this hosted page.
  • No server of ours in between. This site is two static files on GitHub Pages, with no backend, no analytics and no third-party scripts. The key is sent nowhere else.

To check it, open your browser's developer tools, go to the Network tab, and see where each request goes. Or read the source: one HTML file and one JavaScript file. To be safer still, make a separate key with a spending limit for this page.

Your key isn't the only thing that leaves the browser: each request also carries your transcript to the same service. In Chrome, speech recognition sends your microphone audio to Google. With OpenRouter, a 5-minute talk with 7 points costs at most about $0.04.

How Jev scores each point

Jev is a model from TypeSafe that doesn't write text. It answers typed questions with probabilities. This page uses its Score question type, which rates something on levels you describe in plain words.

1. What is sent

About every half second, one request goes to Jev. It holds what you have said so far (the state) and one Score question per talking point that is still open. All the questions are answered in parallel:

{
  "state": { "transcript": "Hi all, I'm your host tonight. Quick safety note: the emergency exits are at the back…" },
  "questions": {
    "p2": {
      "type": "score",
      "instructions": "How much has the speaker covered this talking point: \"Where the emergency exits are\"?",
      "criteria": [
        "No mention of this topic at all",
        "Topic is mentioned but not expanded upon at all",
        "Topic is discussed",
        "Topic is thoroughly discussed"
      ]
    },
    "p3": { … one per open point … }
  }
}

The criteria are the levels, from lowest to highest. They define in words what "covered" means, so changing their wording changes what Jev looks for.

2. What comes back

Jev doesn't pick one level. For each point it gives the probability of each level, adding up to 100%. Here are Jev's real answers for the point "Where the emergency exits are" as the host says more and more. The levels are 0 no mention, 1 mentioned but not expanded upon, 2 discussed, 3 thoroughly discussed.

What the host has said0123Score
"Hi all, I'm your host tonight."100%0%0%0%0.00
… "Oh, and there are exits, obviously."0%100%0%0%1.00
… "Quick safety note: the emergency exits are at the back of the room, through the double doors."0%24%73%3%1.79
… and "there are two more on either side of the stage. If the alarm goes off, leave by the nearest one, don't stop for coats, and meet across the street by the fountain."0%0%27%73%2.73

The score is the probability-weighted average of the levels, so it can fall between them. For the third row:

score = 0×0.00 + 1×0.24 + 2×0.73 + 3×0.03 = 1.79

At the default threshold of 1.5, the passing mention (1.00) leaves the point open, and the safety note (1.79) checks it off.

Confidence (0 to 1) measures how much of the probability sits on one level: 1.00 in the first two rows, 0.73 in the last two. It does not say whether the point was covered, so this page ignores it.

Scored with Jev 1.13 (typesafe/jev-1.13 on OpenRouter) on 19 September 2026.

3. What the page does with it

Jev only judges how much each point has been covered. The rule for checking it off is plain code, which is why tuning it needs no retraining: change the threshold or the wording of the levels.

Live: Jev's last answer for each point

Start talking (or typing) and each point's probabilities will show here.

Idea and design by Allie at TypeSafe. More in the Score docs and on GitHub.