Show it what a right answer looks like. It works out how to get there.

Generate, score against real data, critique, repeat. A measured search, not a guess.

Try it on your own examples See one round

It is a program optimizer for prompts and pipeline settings. Each round it writes new versions and scores them on your data. The winner becomes the next parent, and you keep the number that proves it. Evolve agents, without retraining your models.

It plugs into what you already run. Your code is never edited, never forked, never redeployed.

It reads what your backend already publishes. 4 are wired today; the rest are open slots anyone can ask for.

How a connector works →
request postgres as a connector, on GitHub
request jupyter as a connector, on GitHub
request deepseek as a connector, on GitHub
request langchain as a connector, on GitHub
request excel as a connector, on GitHub
request n8n as a connector, on GitHub
request zapier as a connector, on GitHub
request sheets as a connector, on GitHub
request ollama as a connector, on GitHub
request supabase as a connector, on GitHub
request airtable as a connector, on GitHub
request langfuse as a connector, on GitHub
request mlflow as a connector, on GitHub
request airflow as a connector, on GitHub
A board of the systems PromptPotter can reach into, 4 of them wired today and the rest open slots anyone can ask for. These are connectors, not partnerships: every logo here belongs to its owner.

You tell it what is wrong. Examples where you know the right answer start the run.

Beside the question is what it runs: one call, three steps, or an agent.

what it runs

One call: your input, an LLM, your answer.

3 params it may move
LLM

Three steps: your input, a web search, an LLM, a ranking, your answer.

6 params it may move
retriever web search
LLM
tool ranking

An agent: your task, an agent working on its own in a sandbox, a checked result.

2 params it may move
sandbox agent

Running something we don’t list? Tell us what it is

What is your AI getting wrong?

$0.76 spent lift +0.21 94% from 73%

round 6 · candidate 1 llm_only.prompt

The prompt this candidate actually ran:

Read the ticket and decide which team it belongs to. Use only what the ticket says — do not guess at anything it leaves out. When the ticket describes a symptom rather than a cause, route on the symptom. A ticket naming a specific error code goes to the team that owns that code. If nothing in the ticket settles it, say so rather than choosing.

112 now right 7 now wrong vs origin 500 both measured

  1. Someone says what they are running is stuck at 73 percent.
  2. PromptPotter asks for examples where they know the right answer.
  3. They attach customer-tickets-eval.csv, 500 rows. That starts the run.
  4. Every round is measured, and each round’s prompt can be read back here.

illustration An illustration in the shape of a real run. These figures are a worked example, not a measurement.

It searches, and measures every try. The best version of each round is where the next one starts.

Every score it measures also reaches up and out to whatever you already run.

illustration The same run as the panel above, on one clock. Move it and both follow.

  • Everything it could try: Every version it writes is a point here, coloured by how well it scored.
  • One round: Write versions, score them, keep what worked. The best one starts the next round.
  • When it stalls: If a round stops improving, it steps back and tries a different angle.

It doesn’t think it improved. It measured.

One round from a real run. Three versions were scored on the same 34 examples. The third was dropped after 7; the other 27 were never paid for.

measured One round of one run. It shows how a losing version is cut early; it is not a benchmark result.
Version Examples scored Chance it is the best Outcome
A 34 of 34 50.0% won the round
B 34 of 34 49.7% ran to the end
C 7 of 34 15.8% cut after 7

The whole round cost $0.0311. One round, replayed ↗

Where each benchmark starts. Before any optimizing: no finished run has moved one yet.

20 public benchmark cuts screened, 4 admitted. How each of these was measured →

BBEH mini

from the protocol

Share of answers correct on BIG-Bench Extra Hard mini, before any optimizing.

28% starting score, admission screen

Role
Headline benchmark
Dataset
23 tasks, 460 rows
Scored on
25 rows

Scored before the dataset moved to a different model. The protocol says to re-measure before quoting it against anything.

JustLogic, depth 2 to 4

from the protocol

Share of deductive-logic questions answered correctly, before any optimizing.

50 to 62.5% starting score, admission screen

Role
Focus instrument
Dataset
600 rows
Scored on
25 rows

Floor 35%. From the recon slice, not the current wiring. The protocol says to re-read it before quoting.

AIME 2025

from the protocol

Share of competition maths problems answered with the exact integer, before any optimizing.

30% starting score, admission screen

Role
Wired
Dataset
30 problems, too few to split
Scored on
25 rows

SealQA LongSeal

from the protocol

Share of long-context search questions a judge grades correct, one agent episode each.

26.3 to 33% starting score, published figure

Role
Wired
Dataset
254 tasks, each a 12-document haystack

The published figure without a skill, not our own screen: a judge-graded agent episode cannot be screened at the bar. Published ceiling 39.4 to 44.7%.

Watch every round, right in your browser.

A screenshot of one real, finished campaign. Every figure in it is a reading from a small run, not a benchmark result.

The app, screen by screen →
The PromptPotter control plane: a finished campaign in the chat view, with its pipeline, its rounds, the trend, and the hard-sample ranking

Everyone is choosing a cheaper model. We fix what gets sent to it.

Routers send each call to the cheapest model that can still do the job, and the bill falls. Not one of them touches the thing being sent.

What each one changes in your pipeline
What can change A router PromptPotter
which model runs each step yes yes
the wording of the request no yes
the examples you show it no yes
thresholds and retries no yes
any pipeline setting you expose no yes

The two stack rather than compete: OpenRouter is the default provider here, not a rival.

Routers: Switchyard, OpenRouter, LiteLLM, Portkey, Devin Fusion, Kong, Bifrost, RouteLLM, Not Diamond.

The limits, before the pitch.

Where it fits, and what it sits beside →

  1. It needs examples you have already answered. It improves things by scoring them, and it cannot score anything without knowing what a right answer looks like.
  2. It changes settings, never the model. Wording, thresholds, model choices. If none of the models you offer it is right for the job, this will not fix that.
  3. It reads your system and writes nothing back. The worst case is that you spent some tokens and learned the score would not move.

It just runs. Pick who runs it.

We run it

Online, limited

10 campaigns · up to 10 rounds each

  • Runs on our machines, zero setup
  • Full live monitoring as it runs
  • Take your results with you anytime

Open the app

You run it

Secure, personal, local

Unlimited campaigns and rounds

  • Claude-operated: the /potter-run skill drives it
  • Runs locally in your editor, on your own keys
  • The full source, nothing held back

Install guide

Your team runs it

Team online

Unlimited · multi-user

  • Multi-user from day one
  • Behind a Cloudflare tunnel and an OIDC allowlist
  • Whitelabel: your brand, your invite list

Self-host guide

Fix a broken LLM pipeline in one hour. Then it just works, with proof.

Try it on your own examples Built and run by one person. About →