YouMind

How to Make Money with Jev (Full Guide)

@everestchris6
英語2026年9月20日
102K
275
30
2
757

TL;DR

This guide explains how to monetize the Jev typesafe AI model by building instant quote tools for local trades and B2B suppliers, as well as creating safety guardrails for autonomous agents.

jev is a new typesafe model that makes super fast decisions instead of writing. that opens up a bunch of revenue streams you can build and sell, and here are three of them.

by the end of this guide you'll have:

  • a clear picture of what jev is and what it's for
  • how to get access to jev and set it up
  • a quote tool that gives a business instant prices
  • the same tool built for b2b suppliers and their catalogs
  • a skill file that approves or blocks your agent's actions
  • all of it running on hermes or grok bot
  • real numbers from my own run of all three
Chris - inline image

what jev is

here's what one call looks like. you send it this:

text
1situation: my ac is blowing warm air and it's 110 out
2options: repair, install, maintenance, other

and it comes back with \repair\ and \0.97\. the 0.97 is a probability, which just means how sure it is on a scale from 0 to 1. 0.97 is very sure.

because it can't write, it can't make anything up. it can only pick from the list you gave it.

it answers three kinds of question, and everything in this article is built from those three.

pick one from a list. you give it the options and it picks one of them. which service is this, which item from the catalog, which category does this fall into.

put something on a scale. the scale is just a list in order, so small, medium, large, or flexible, this week, today. same mechanic as picking from a list, but the order carries meaning, so the code can treat medium as bigger than small.

true or false. does this need a site visit. is this a real enquiry. can this action be undone. these are like the ones you build rules on, because the answer is binary.

every answer comes back with a probability attached. that number is the output you actually build with.

and one rule runs through everything in this article. when jev is very sure, the code acts on its own. when it isn't, a person gets asked.

usually a writing model gives you an answer with no idea how sure it is, so you either trust everything it says or check everything it says. jev hands you a number, so you can draw a line. above the line it runs, below the line it asks.

where you draw the line depends on what the action costs. something harmless can run at 0.7. something that sends money runs at 0.9. you'll see both in this article.

you still need a normal writing model for writing. jev decides, fable or astra writes.

getting access

the direct api has a waitlist, so use vercel's ai gateway instead, which anyone can sign up for today. an api is just a way for code to ask a service for something.

open your terminal and paste these one at a time.

text
1npm i -g vercel
2vercel login
3vercel ai-gateway api-keys create --name jev --budget 5

that last command makes a key with a hard $5 cap on it. it can never spend more than that, no matter what you do. copy the key it prints.

then make a file called \.env\ in your project folder with one line in it:

text
1AI_GATEWAY_API_KEY=your_key_here

the model name is \typesafe-ai/jev\. it also works through openrouter if you'd rather.

now hand the rest to claude code or whatever you use. everything in this article gets built once and then handed to whichever agent you run. hermes and grok bot both work, and the difference is only in the setup.

text
1set up jev for me and prove it works.
2
3- read the vercel ai gateway docs for calling a model
4- my key is in .env as AI_GATEWAY_API_KEY. the model is typesafe-ai/jev
5- write one small script i can run that sends a situation and a list of options and prints back the answer and the probability
6- test it with: situation "my ac is blowing warm air", options repair, install, maintenance, other
7- print how long the call took in milliseconds
8- if the call fails, show me the actual error, don't retry it silently

it should come back with repair and a number close to 0.97, in well under a second.

what it costs

$0.042 per million input tokens, and the output is free.

a token is roughly three quarters of a word, and input means what you send it. output being free matters here, because jev's output is one word and a number, so there's almost nothing to charge for.

my whole test across all three methods was 112 calls and cost $0.006. that works out at $0.054 per thousand decisions, so running any of this all day costs very less.

for comparison, asking a writing model to make the same decision costs somewhere between fifty and a few hundred times that, and takes a few seconds instead of under one.

Chris - inline image

method one, instant quotes for local trades

hvac, plumbing, electrical, junk removal, cleaning, tree service. any trade where the same jobs come up over and over and the owner already knows roughly what they charge.

here's the problem they have. let's say someone's ac dies at 9pm. they find the site, want to know if it's a $300 job or a $3,000 job, see a button that says request a quote, and close the tab.

the owner never knows that person existed. the person basically just leaves.

and the owner can't fix it themselves, because putting real prices on a website is genuinely hard when every job is a bit different. that's why nobody in the trades does it. the price depends on the size and the urgency and whether someone needs to come out and look, and no static page can hold all of that.

which is exactly what jev is for.

what you build is one text box on their site. someone types what's wrong, and a price range comes back in under a second.

how it works

claude code pulls the business's services from their website and their google listing, so you have their actual service list.

then it builds a price table for that trade in that city from public contractor pages. plenty of contractors publish rough pricing, and enough of them in one city gives you a real picture of what that market charges.

i did phoenix hvac from nine contractor sites. the table has a row for every combination of service, size and urgency, so a small flexible repair comes out at $150 to $450, and the same repair marked as today costs more.

the table is built once per trade per city, and every business you sell in that city uses the same one with their own service names mapped onto it.

then the widget goes on a copy of their homepage. when someone types a job, there's one jev call that asks five things at once:

  • which service is this, picked from their own list
  • how big is it, on a scale of small, medium, large
  • how urgent, on a scale of flexible, this week, today
  • does it need a visit to price properly, true or false
  • is this a real request, true or false

the code takes those answers, looks up the matching row in the price table, and shows the range.

the table picks the price and jev only decides which row of the table applies.

that distinction is what makes this safe to put on someone else's business. if the model were generating numbers, one bad answer would put a wrong price in front of a real customer with the owner's name on it. instead the worst case is that it picks the wrong row, and the range it shows is still a real range from a real table.

and when it isn't sure which row, it doesn't pick one at all.

when jev is under 0.7 sure about the service, or says it needs a visit, the widget doesn't show a number. it shows "we'll confirm within the hour" and a book a visit button.

an owner will not let you put this on their site if there's any chance it quotes something stupid, so the answer to every edge case is the same.

what happened when i ran it

a range on screen in 801ms median.

"replace my old 4 ton ac unit" came back with a range straight away. "it's making a weird noise" went to book a visit at 89% sure, which is right, because nobody can price a noise. a spam message came through and the owner never got a text about it.

size is the one thing jev is soft on. it sat between 63 and 76% sure on how big a job was, which makes sense, because "my ac is broken" genuinely doesn't say whether that's a small unit or a whole house.

so when it's unsure on size, the widget asks one extra question, something like "roughly how many square feet", and the code puts that number in the right band itself. here, there's no second jev call needed, because a number in a box doesn't need a model to interpret it.

when jev is unsure about something a person could answer in three seconds, ask them. don't try to make the model more certain than the information allows.

text
1build the price table for [trade] in [city].
2
3- find public price pages from contractors in this city and this trade. at least eight sources
4- for every common service, pull the low and high price actually printed on the page
5- build a table with the service, the size band, the urgency band, and the low and high
6- the bands must not overlap. if two sources disagree, keep the wider range
7- cite the url for every row
8- if a service has fewer than three sources, leave it out and tell me which ones you dropped
text
1build the quote widget for [business].
2
3- pull their services from their website and their google listing
4- copy their homepage and put one text box on it that says "tell us what's wrong"
5- on submit, make one jev call that asks: which service from their list, what size on small/medium/large, what urgency on flexible/this week/today, does it need a visit true or false, is this real true or false
6- look up the matching row in the price table and show the range
7- if the service confidence is under 0.7, or it needs a visit, show "we'll confirm within the hour" and a book a visit button instead of a number
8- if the size confidence is under 0.7, ask one follow up question and use the answer to pick the band
9- if it isn't a real request, show nothing to the owner
10- text the owner every real request with the range attached
11- show me the widget running before you deploy anything
Chris - inline image

how you sell it

you build the demo on a copy of their own site first, before you contact them.

then you mail the owner a postcard with a qr code on it. they scan it, land on what looks like their own homepage, type in a real job, and watch a price come back in under a second.

that's basically the whole pitch.

they turn it on for [placeholder] a month. once it's live, every quote request texts them with the range already attached, so they open their phone and see the job and the price together.

and when they miss a call, the caller gets a text with a link to the widget. that one addition catches the people who tried to phone at 9pm and got voicemail, which in most trades is a bigger number than the people who fill in forms.

the monthly is for keeping it running and keeping the table current. prices always move.

Chris - inline image

method two, the b2b quote desk

same widget, much bigger buyer.

sign shops, printers, fabricators, wholesalers. someone emails asking for a price on a job and it takes one to three days to get an answer, because a person has to read the email, work out what's being asked for, and put a number together.

the tickets are $2,000 to $50,000, so the buyer is usually getting three quotes at once. whoever answers first is in the conversation and the other two are competing on price against a number that's already anchored basically.

the only thing that changes is the data. their product catalog replaces the service list, and the questions become:

  • which item, picked from their catalog
  • how many, on a scale
  • is it rush, true or false
  • does it need installation, true or false
  • does it need design work, true or false
  • does this need a call, true or false

what happened when i ran it

three phoenix sign shops, using their own listed prices cut into bands by quantity or size so the bands don't overlap.

range on screen in 869ms median.

a channel letter sign came back at $2,000 to $6,000. "signage for all our locations" went to a call at 91% sure, correctly, because that's a conversation and not a quote. "40 yard signs" gave $190 to $1,526.

that last range is wide on purpose. yard signs vary enormously by material and print, and a wide honest range beats a narrow wrong one. the buyer learns they're in the right ballpark and the shop gets to firm it up.

same postcard, same demo as method one, and you charge more because the quotes are worth more.

text
1build the b2b version of the widget for [business].
2
3- pull their product catalog and their listed prices from their site
4- cut the prices into bands by quantity or size. the bands must not overlap
5- one jev call asks: which item from the catalog, how many on a scale, rush true or false, installation true or false, design needed true or false, needs a call true or false
6- anything that needs a call shows a booking link instead of a range
7- anything over [their top band] always goes to a call
8- show me the bands before you build the widget
Chris - inline image

method three, the guard skill

this one sells to a completely different person. anyone running hermes or grok bot or any type of agent.

here's the problem. someone sets up an agent, and then can't leave it alone. it might spend money it shouldn't. it keeps retrying something that's already broken. so they sit there approving every step, which is the thing the agent was supposed to remove.

what they actually want is for the agent to run on its own and only stop for the handful of things that genuinely need a human. the problem is nobody wants to write the rules for that, because the rules have to cover situations you haven't thought of yet.

jev is good at exactly this shape of question. is this a duplicate, is this off goal, can this be undone. those are judgement calls with a small number of possible answers, which is what jev does.

what you sell them is one text file. a skill file is just a text file the agent reads that tells it how to do one thing.

how it works

before the agent does anything at all, it describes the action to jev. what it is, what it costs, who it touches, what the last ten actions were, and what today's goal is.

then five questions:

  • is this a duplicate of something already done
  • is this off goal
  • may it spend, on a scale of approve, review, deny
  • can this be undone, true or false
  • did the last step actually work, true or false

and a sixth when a lead is involved: is this lead real.

the rules in plain words:

  • normal actions run when jev is over 0.8 sure on everything
  • cheap actions that can be undone run at 0.7
  • mailing, ordering, paying and deleting need 0.9
  • a deny from jev always stops it, whatever the numbers say
  • if jev doesn't answer within 3 seconds, the action waits for a person

you don't really ask a model whether you've spent too much, you actually count it. anything that can be worked out with arithmetic should be worked out with arithmetic, and jev handles the things that need judgement.

what happened when i ran it

i wrote a fake day of 40 actions. 21 normal, 9 borderline, 10 deliberately bad. then ran the whole day twice.

20 of the 21 normal actions ran without asking me. all 10 bad ones were refused, both times. that included a $400 render job, a $675 mailing to an unverified list, a $950 invoice from a sender, and deleting the leads database.

66 jev calls across the two days, $0.0037 total.

the one normal action that got held was a batch of 4 render variants, which jev half read as a repeat of the single render just before it. that's the right kind of mistake, it stopped and asked instead of guessing.

since jev can only judge what you show it. show it the history.

text
1build me a guard skill file for my agent.
2
3- it's a text file the agent reads before every single action
4- the agent sends jev: what the action is, what it costs, who it touches, the last ten actions, and today's goal
5- five questions: is this a duplicate, is this off goal, may it spend on approve/review/deny, can it be undone true or false, did the last step work true or false
6- a sixth when a lead is involved: is this lead real
7- normal actions run over 0.8. cheap reversible ones run over 0.7. mailing, ordering, paying and deleting need 0.9
8- a deny always stops it regardless of the numbers
9- if jev doesn't answer in 3 seconds, hold the action for me
10- the daily budget is a plain number in the code, counted, not asked
11- always pass the full message thread when a lead is involved
12- log every decision with the action, the answers, the probabilities and what happened
13- then write me a fake day of 40 actions with 21 normal, 9 borderline and 10 bad ones, run it twice, and show me the log
Chris - inline image

how you sell it

sell it as two versions. a free one with a couple of the checks in it, given away on your skills site, and a paid one with all of them plus the setup for hermes and grok bot. price it however you want.

where to start

pick one trade in one city. build the price table. pick three businesses and build the widget on copies of their sites. mail three cards.

and if you're picking between the three, method one is the easiest to sell and method three is the easiest to build. the b2b version pays the most per customer but takes longer to find them, because there are fewer businesses like sign shops than hvac companies in any city.

hope you have fun setting this up.

join here for more value: https://t.me/+pbCBBtUEtu1lZDA1

一鍵儲存

使用 YouMind AI 深度閱讀爆款文章

保存原文、追問細節、總結觀點,並在一個 AI 工作空間裡把爆款文章沉澱成可複用筆記。

了解 YouMind
寫給創作者

把你的 Markdown 變成乾淨的 𝕏 文章

圖片上傳、表格、程式碼區塊,往 𝕏 上手動重排太痛苦。YouMind 把整篇 Markdown 一鍵轉成乾淨、可直接發佈的 𝕏 文章草稿。

試試 Markdown 轉 𝕏

更多可拆解樣本

近期爆款文章

探索更多爆款文章