Stop paying for decisions your own model already gets right
Dopp is a drop-in proxy for any Jev-compatible decision API. Change one URL, keep the API you use today, and by the afternoon you own a small model trained on your own requests, measured against that API, and switchable in one click.
If you use a hosted decision API (Jev is the example throughout; any Jev-compatible endpoint works the same), you have a line on your bill that grows with your product. Every request, every answer, at their price, at their latency, forever. Most of those requests are ones your app has sent a thousand times before: the same kind of ticket, the same kind of sentence, the same five questions.
That repetition is a dataset. You've been paying to produce it and throwing it away.
Dopp keeps it. You point your app at our URL instead of Jev's, with the same body and the same key handling. Every request still gets Jev's answer, and every request is recorded, with the state, the questions, who answered, how long it took, and Jev's answer as the label. Nothing about your app changes.
Then one button
Once you have a few hundred recorded requests, the Train page shows one button. It says what it will do before you press it:
Train jeverypii v1 on 387 requests (48 held out to measure it) · ~10 min · ~$0.80
Press it. A small open model trains on your requests, on our GPU, in minutes. When it finishes you get one number that matters: how often it agrees with Jev on the 48 requests it never saw, broken down per answer. On a per-word PII task that number was 94% after the first training.
Then choose who answers
The Use page has four settings, each one sentence:
- Jev, and record everything so I can train.
- Jev, and quietly compare my model on every request.
- My model, but ask Jev when it's unsure.
- My model only.
Start with "quietly compare": Jev keeps answering, your model shadows it, and the Requests page shows their agreement on real traffic as it comes in. When you trust the number, move down one setting. Jev is still there as the fallback. You never stop using Jev; you stop needing it for the requests your model already gets right.
Or run it in the browser
Every trained version is also exported to run in a browser tab on the user's own GPU. 842 MB once, cached, then answers in under a second and nothing leaves the tab. For PII, health and legal products that's not a feature, it's the whole point.
What it costs
Every paid step is on a meter you can see: Jev's labels, writing extra examples, training minutes. Buttons show the price before you press them. The first model above cost $1.84 end to end, most of it the training run.
Start
- Create a model and copy its key.
- Change Jev's URL in your app to ours.
- Send traffic. Watch it appear on Requests.
- Press Train when the button lights up.
Questions
Do I have to stop using Jev?
No. Jev answers until you say otherwise, and stays as the fallback after.
What if my model is wrong?
The "ask Jev when it's unsure" setting sends low-confidence answers to Jev, and every answer your model gives is recorded next to Jev's so you can see disagreements.
Do I need a GPU or any ML setup?
No. Training runs on our GPUs. The browser copy runs on your users' GPUs.
Can I download the model?
Yes. Every version can be downloaded, and the browser weights are yours too.
What kinds of requests work?
Typed questions about a state: choices, yes/no, scores, including many questions about pieces of one text. Very long documents and questions with hundreds of options don't fit yet, and the product says so rather than guessing.
What Dopp is. Dopp is a drop-in proxy for any Jev-compatible decision API: TypeSafe's Jev, Kev, GLiNER, simple-jev, or your own endpoint that answers typed questions about a state. You change one URL; every request still gets your current API's answer and is recorded as training data. When you have enough, one button trains a small open model on your own requests, measures it against the API it learned from on requests it never saw, and lets you choose who answers: the API, your model with the API as backup, or your model alone, on our servers, or offline, even in your users' browsers.