We Tested Jev for Our Onboarding. Here's Where It Won and Lost.
We moved a real onboarding step from an LLM to TypeSafe's Jev. What got faster, what we measured, and the jobs we kept on the LLM.
By Sayed Nadim

This post is for engineers and founders deciding whether TypeSafe's Jev belongs in their product. Most of what has been written about Jev since its early access opened on 15 September 2026 explains what it is. This is what happened when we put it to work in Loopency, a business management system for growing companies, on a job our users see in their first minute.
The short version:
- Jev took over a pick-from-a-list job that two LLM calls and a pile of hand-written rules used to do, and the step went from 9-11 seconds to under half a second.
- It is good at choosing from a fixed catalog with a confidence, and honest when it is unsure: it offers two answers instead of inventing a precise one.
- We measured it on other jobs and kept the LLM there, most clearly where the answer has to be read out of free text and matched to our own vocabulary.
The job
When a company signs up, Loopency asks one question: what does your company do? From the owner's answer it has to decide three things before the next screen:
- The industry, from 109 ISIC sections and divisions (the UN's industry classification).
- Which of our seven modules to switch on: sales, inventory, purchasing, finance, HR, projects and support. A yes or no for each.
- Which workflows and reports to offer first, ranked from 43 shipped workflows and 104 reports.

All three are choices from a list we already have. Nothing has to be written. That is exactly the shape of task a decision model is built for.
Before and after
| Before | With Jev | |
|---|---|---|
| What did the work | Two LLM calls and hand-written rule tables | Three typed questions to Jev, sent at the same time |
| Time for the whole read | 9-11 s | 0.28-0.45 s |
| Click to the next screen, in the browser | - | 1.6 s |
| What comes back | Text we parsed | Typed values with a confidence each |
The rule tables are gone. Every decision now comes back with a number attached, and that number does real work, as the next sections show.
Twenty companies, side by side
We wrote twenty company descriptions, from one vague line to a detailed paragraph, and ran each through Jev and through the reader we had built on a general-purpose LLM (which picks a 4-digit ISIC class from all 766). Raw outputs, not scores; here are five:
| Description | Jev's industry (confidence) | LLM reader's industry | Jev | LLM |
|---|---|---|---|---|
| "We sell industrial products to other businesses." | 46 Wholesale trade (0.92) | 4690 Non-specialized wholesale; 4659 Wholesale of other machinery and equipment | 0.35 s | 4.99 s |
| "We are a trading company." | 46 Wholesale trade (0.54) or G Wholesale and retail trade (0.46) | 4690 Non-specialized wholesale; 4610 Wholesale on a fee or contract basis | 0.42 s | 3.73 s |
| "We manufacture parts for factories." | C Manufacturing (0.88) | C Manufacturing; 3290 Other manufacturing n.e.c. | 0.28 s | 3.77 s |
| "We wholesale packaging materials to food manufacturers." | 46 Wholesale trade (0.93) | 4669 Wholesale of waste and scrap and other products n.e.c. | 0.32 s | 3.59 s |
| A 25-person B2B distributor of pumps and valves, 30 overseas suppliers, one warehouse, credit terms | 46 Wholesale trade (1.00) | 4659 Wholesale of other machinery and equipment; 4663 Wholesale of construction materials, hardware, plumbing and heating equipment | 0.30 s | 3.79 s |
What we read from it:
- Jev is eight to twenty times faster on every row, and that gap decides whether onboarding feels instant.
- Jev stays at the level it can defend. It answers at division level and, when a description is ambiguous ("a trading company"), it returns two candidates with close confidences instead of picking one. We show the owner the runner-up whenever the top answer is under 0.6.
- The LLM goes more precise, sometimes surprisingly. It is not always wrong to do so (ISIC 4669 does cover "other products n.e.c."), but "waste and scrap" is not a label a packaging wholesaler wants to see on their first screen.
Where we kept the LLM
We tried Jev on more jobs than the one it now does, and measured each. The ones we rejected:
- Mapping free-text phrases onto our own record types. When an owner writes "we track service requests and deliveries", something has to turn each phrase into the right record in our catalog. Jev agreed with our existing LLM-based reader on 60 of 113 phrases. That job stays with the LLM.
- As a gatekeeper on which record types to build for a company, and as a filter on what counts as the company's own operations. Neither held up when measured.
- A two-step question (pick the ISIC section, then the division inside it) did no better than asking for the division directly, so we ask once.
There is also a limit inside the job Jev does well: the module picks barely react to detail. A vague line and a detailed paragraph produce almost the same set of modules. The detail is not lost; our Setup agent, which runs on an LLM, reads it after onboarding and turns it into settings for the owner to approve. Jev makes the first screen fast; the LLM does the part that needs reading.
An independent review by inovex noted that Jev's confidences move from run to run. We see that too: the same description read 0.89 one run and 0.92 the next. So we compare picks, not decimals, and our thresholds are bands, not exact cut-offs.
How it is wired
- One door. A single gateway is the only code that talks to TypeSafe; a test fails the build if anything else imports the SDK.
- Personal data is masked before anything leaves. People's names, emails, phone numbers, card and account numbers and ID numbers in a description are replaced with placeholders before the text reaches Jev, the same as for every model we call.
- Confidence decides who speaks next. For each module, a confidence above the bar switches it on, and one below the unsure band leaves it off. In between (0.20 to 0.40, a band we measured) our Setup agent asks the owner instead of guessing.
Should you use it?
If your task is choosing from a list you already have, at volume, where speed and a calibrated "how sure" matter more than a fluent explanation, a System One model like Jev is worth measuring against your LLM. For us it removed two LLM calls, every hand-written rule, and nine seconds from a new customer's first minute.
If the task is reading open text and matching it to your own vocabulary, measure carefully before you switch. In our case the LLM stayed.
Either way, run both on the same inputs and look at what each gets wrong, not only at speed.
See the onboarding it powers: describe your company and get your system
Measured on 2 October 2026 on Loopency's development environment, on twenty descriptions written for this test. Times are for the whole read; confidences vary by a few hundredths between runs.
Related reading

Sep 30, 2026

Oct 23, 2026

Oct 22, 2026