---
title: "Road crack detection with Jev, Clairic and Claude | UnlockJapan, Inc."
description: "Road photos cut into 1 m cells and judged for cracks by AI. Of 107 cells, Jev with Clairic got 99 right and Opus 95; 100 km of one lane costs Jev about $13."
url: https://unlock-japan.co.jp/en/blog/jev-road-cracks/
locale: en
date: 2026-11-03
author: "Takuma Yoshida"
---

2026-11-03

# Road crack detection with Jev, Clairic and Claude

[Takuma Yoshida](https://unlock-japan.co.jp/en/company/)

## Key points

- **Jev was enough to tell crack from no crack**: on 107 cells we labeled, Jev with Clairic got 99 right, Jev alone 94 and Claude Opus 5.5 95. Per 1,000 cells, Jev cost $0.033 and Opus $5.5 (about 170 times as much); a cell took 0.2 s and 1.8 s.
- **Against human inspection**: counting a 4 m by 1 km strip as 4,000 cells, judging 100 km of one lane costs about $13 with Jev and $2,200 with Opus. A survey vehicle job costs about $16,000 per 100 km (about $6,400 of it office work such as analysis), and sorting the cells by hand at our pace would take about 330 hours. Our calls are not a substitute for an official crack ratio.
- **Counting cracks was hard for every AI**: when an AI said "two or more", it was right 68 to 100% of the time, but it found only 9 to 15 of the 26 cells with two or more cracks.

Inspecting roads for cracks takes a lot of people and money. Sketching cracks by hand took 30 people two days for 2.8 km in one survey ([Nippon Road's research institute](https://www.nipponroad.co.jp/technique/assets/labo/award/No.67.pdf)), and hiring a survey vehicle costs about $16,000 to $35,000 per 100 km of one lane (MLIT's catalog of inspection support technologies: [about $16,000](https://www.mlit.go.jp/road/tech/pdf/catalog-hosou0027.pdf), [about $35,000](https://www.mlit.go.jp/road/tech/pdf/catalog-hosou0005.pdf); in Japanese). We tested how much cheaper and faster road crack detection gets when AI judges photos instead. We cut road photos into cells about 1 m square and asked Jev (TypeSafe's decision model), Clairic (Cloudflare's extraction model) and Claude whether each cell had a crack. Of the 107 cells we labeled, **Jev with Clairic got 92.5% right, Claude Opus 5.5 88.8% and Jev alone 87.9%**. Per 1,000 cells, Jev cost $0.033 and Opus $5.5; counting a 4 m by 1 km strip as 4,000 cells, **judging 100 km of one lane costs Jev about $13**. But we only asked whether a cell has a crack, which is not a substitute for the official crack ratio used in inspections.

The models were Jev (`jev-1.14.0`), Clairic (`@cf/cloudflare/clairic`), Claude Opus 5.5 (`claude-opus-5-5`), Sonnet 5.5 (`claude-sonnet-5-5`) and Haiku 5.5 (`claude-haiku-5-5`).

## What we tested

Our starting point was what road crack inspection costs today in people, money and time. From there, we asked **how much cheaper and faster it gets if photos and AI make the crack calls**.

This page is part of a series asking whether Jev, TypeSafe's decision model, decides better, faster and cheaper than a general-purpose LLM when built into a workflow. Earlier rounds used text: Othello, a bargaining game, and routing return emails. This round is our first with photos.

The story of each experiment runs as a series on note, in Japanese (note offers an English machine translation; the link is at the end of this page). This page collects the numbers and conditions for reference.

### What inspection by people and survey vehicles costs

The Japanese sources below give prices in yen. Throughout this page we convert them to US dollars at ¥158 to the dollar, the rate on November 2, 2026 ([Trading Economics](https://tradingeconomics.com/japan/currency)), rounded to two significant figures.

- **Sketching cracks by hand**: in a report by Nippon Road's research institute, "[Inspecting concrete pavement with a survey vehicle](https://www.nipponroad.co.jp/technique/assets/labo/award/No.67.pdf)" (in Japanese), sketching the cracks on 2,830 m of concrete expressway took 30 people (6 for traffic control, 3 for marking positions, 21 on the road surface) two days. A survey vehicle measured the same stretch with 2 people in 10 minutes (measuring only). That survey also measured the width of fine cracks, so it is harder work than an ordinary asphalt road.
- **Hiring a survey vehicle**: in MLIT's catalog of inspection support technologies, the standard cost per 100 km of one lane is about $16,000 for one technology (about $6,400 of it office work such as analysis and reports; [catalog sheet](https://www.mlit.go.jp/road/tech/pdf/catalog-hosou0027.pdf), as of March 2026) and about $35,000 for another (about $17,000 of it pavement analysis; [catalog sheet](https://www.mlit.go.jp/road/tech/pdf/catalog-hosou0005.pdf)), both in Japanese. Standard turnaround for 100 km is 16 days and 40 to 50 days. Both prices cover crack ratio, rutting and IRI (roughness) together; cracks are found in the images automatically, and the second includes a step where people check the automatic results by eye.
- **A city's contract**: Hirakata City's design document for its "[FY2024 pavement condition survey contract](https://www.city.hirakata.osaka.jp/cmsfiles/contents/0000048/48302/R6nenndoromennseizyoutyousatougyoumuitaku.pdf)" (in Japanese) puts measuring and analyzing 47.8 km, plus updating the pavement plan and the report, at about $31,000 including tax: about $650 per km.

### Many roads are not inspected

Government documents suggest there are not enough people or money to inspect Japan's roads:

- Of about 1.22 million km of roads in Japan, over 80% (about 1.03 million km) are municipal roads (MLIT Road Bureau, "[The state of road structure maintenance](https://www.soumu.go.jp/main_content/000497036.pdf)", May 30, 2017, page 2 of the PDF; expressways as of April 2016, others April 2015). In Japanese.
- Civil engineers make up about 3% of municipal staff (26,044 of 902,577; same document, page 12 of the PDF; as of April 1, 2015, excluding designated cities).
- In a survey of local governments, 20% of prefectures and 80% of municipalities did not inspect pavement, and 10% of prefectures and 50% of municipalities did not know (keep a record of) when it was laid (MLIT, "[Progress report on pavement inspection guidelines](https://www.mlit.go.jp/common/001170942.pdf)", page 3 of the PDF). In Japanese.
- Expressways, national roads and most prefectures that inspect use dedicated vehicles to measure crack ratios; most municipalities do not inspect (measure and record) at all (same document, page 7 of the PDF).

Inspection takes a lot of work, and many roads go uninspected. If AI could check photo cells cheaply, more road might get looked at. That was the starting point.

### The counting method we borrowed from

Pavement inspections often divide the road into 0.5 m squares, mark each square's cracks as "area" (alligator) or "linear", and compute the cracked share of the area, the crack ratio (Osaka Prefecture, "[Pavement inspection guidelines](https://www.pref.osaka.lg.jp/documents/2904/000_hosou-tenken2026_honpen.pdf)", March 2026, page 15 of the PDF; in Japanese). We asked each cell "is there a crack?" and, as a rough stand-in for linear vs. area, "one crack, or two or more (including a net)?". Our cells are about 1 m, not 0.5 m (0.5 m squares were too small in these photos), and our categories differ, so we did not compute an official crack ratio.

## The material: RDD2022 photos cut into 1 m cells

![The flow: a road photo from RDD2022 is cut by math into cells about 1 m square; each cell goes to Jev, Clairic and Claude; each cell is called crack or no crack](https://unlock-japan.co.jp/blog/jev-road-cracks-flow-en.png)

The photos come from [RDD2022](https://arxiv.org/abs/2209.08538), a public road damage dataset: Japanese photos, 600 × 600 px, taken forward from a car's dashboard.

RDD2022 does not record the camera's height or angle, so we assumed the same for every photo and computed where squares on the ground appear in the image:

- Camera height: 1.3 m
- Focal length: 430 px (about 70 degrees across)
- Horizon: exactly halfway up the photo

On those assumptions we split the road 2.5 to 6.5 m ahead and 2 m to each side (4 m wide, about one lane) into 16 cells of 1 m. The two outer cells of the nearest row fall outside the photo, leaving 14 per photo. Mapping each cell's corners into the photo and stretching it to a 320 px square gives a top-down view of the cell (4,480 cells from 320 photos).

![A road photo with a 16-cell grid drawn on the road, and the 14 cells that fit in the photo shown from above. The two scored cells in the nearest row are outlined in navy](https://unlock-japan.co.jp/blog/jev-road-cracks-mesh-en.png)

We scored the two middle cells of the nearest row (2.5 to 3.5 m ahead). Farther rows get blurrier, so we started with the easiest cells. Even these are only about 60 px tall in the original photo.

### The answer key is ours

We labeled 120 cells by hand: no crack, one crack, two or more (including a net), or can't tell. RDD2022 has boxes around damage, but they do not line up with our cells, so we did not use them as answers. The 120 cells were picked as 40 that RDD2022's boxes mark as cracks, 40 from photos with no damage marked, and 40 others.

| Our label | Cells |
|---|---:|
| No crack | 47 |
| One crack | 34 |
| Two or more (including a net) | 26 |
| Can't tell (a car, a painted line, etc. hides the road) | 13 |

Leaving out the 13 we couldn't judge, we scored 107 cells: 60 with cracks, 47 without. Many cells were hard to label: a thin crack or a shadow, one crack or two.

We labeled on a simple page made for the job and finished the 120 cells in about six minutes (under six minutes from opening the page to saving the last cell, or about 3 s per cell). The discussion at the end uses this as a rough figure for a person's pace.

## What each AI was asked

Every AI got the same cell image, one at a time. Jev and Clairic also got this context text:

A square patch of road surface about 1 m by 1 m, seen from above. It was cut from a dashboard photo of a road in Japan and stretched to a square, so it can be blurry and the far edge is the least sharp. Judge the asphalt itself: a crack is a dark line with ragged edges in the pavement. Paint, a manhole cover, a shadow, water, tyre marks, a joint between lanes and a clean sealed line are not cracks.

### Jev

- **Model**: `jev-1.14.0`. Image input is officially experimental; [TypeSafe's docs](https://docs.typesafe.ai/images) say "Images and Box questions aren't yet up to our standards to call ready for production." It needs the header `TypeSafe-Danger-Zone-Images: true`.
- **Input**: the cell image (placed once in the state and referred to by name) and the context text.
- **Questions** — : four yes/no questions (noul), each answered as the probability of yes (0 to 1). — crack: is there at least one crack? (`Is there at least one crack in the road surface in `photo`?`) / multi: two or more cracks, or a net? / patch: a patched repair (a square of newer asphalt)? / notroad: is most of the cell something other than road (a car, a curb, a sidewalk, a painted marking)?
- **Requests per cell**: one Jev call (all four questions together), 778 input tokens.

The score is the probability for crack; "two or more" means multi at 0.5 or higher. patch and notroad were asked to catch look-alikes and were not used in scoring.

### Clairic

- **Model**: `@cf/cloudflare/clairic` on Cloudflare Workers AI, the extraction model introduced in [Cloudflare's blog](https://blog.cloudflare.com/clairic-extraction-model/).
- **Input**: the same image and context text.
- **Questions**: two number estimates: the number of cracks (0 to 6; a net counts as 6) and the share of the cell that is broken (0 to 100%).
- **Requests per cell**: one Clairic call, 488 input tokens.

The score is the mean Clairic returns with the crack count; "two or more" means the count itself (value) is 2 or more. The broken share was not used.

### Jev+Clairic

The score is Jev's crack probability plus Clairic's mean crack count divided by 6 (which runs 0 to 1): one view of "is there a crack?" plus another of "how many?". That is two requests per cell, one to each model.

### Claude (Opus 5.5, Sonnet 5.5, Haiku 5.5)

- **Models**: `claude-opus-5-5`, `claude-sonnet-5-5`, `claude-haiku-5-5`, at each model's default effort.
- **Input**: the cell image and the prompt below. No context text: the prompt only says painted lines, patch joints and shadows are not cracks.

The image is a square patch of road surface about 1 m by 1 m, seen from above. It was cut from a dashboard photo and warped to a top-down view, so it can be blurry, and part of it may be a car, a painted line, a kerb or a shadow.

Answer about cracks in the road surface only (not painted lines, joints of patches, or shadows):

- crack: your probability from 0 to 100 that there is at least one crack in the road surface.
- multi: your probability from 0 to 100 that there are two or more cracks, or a net of cracks like alligator skin.
- count: "0" (no crack), "1" (one crack), "2" (two or more, or a net), or "x" if the road surface cannot be judged.

Reply with only one line of JSON, nothing else: {"crack": <0-100>, "multi": <0-100>, "count": "<0|1|2|x>"}

- **Requests per cell**: one Claude call, 1,008 to 1,033 input tokens and 24 to 148 output tokens on average (including thinking).

The score is crack; "two or more" means count is "2".

### Common conditions

- **The line**: every AI only gives each cell a "likely a crack" score, so a line is needed above which a cell counts as cracked. The scores are on different scales (Jev a probability from 0 to 1, Clairic a mean count from 0 to 6, Claude 0 to 100), so one value cannot serve for all. Instead we fixed the same rule in advance for every AI: rank the 60 cells we labeled as cracked by that AI's score, and call everything at or above the 54th score (90%) a crack. Every AI is set to catch about 54 of the 60 crack cells, and we compare how many of the 47 clean cells it wrongly calls cracked. Ties can push the count above 54. The line was set on the same cells that were scored. The resulting line for each AI:

| AI | Score | Line (crack at or above) |
|---|---|---:|
| Jev+Clairic | crack probability + mean count ÷ 6 | 0.46 |
| Jev | crack probability (0 to 1) | 0.24 |
| Clairic | mean crack count (0 to 6) | 0.92 |
| Claude Opus 5.5 | crack (0 to 100) | 20 |
| Claude Sonnet 5.5 | crack (0 to 100) | 15 |
| Claude Haiku 5.5 | crack (0 to 100) | 8 |

- **Language**: prompts and the context text were in English.
- **Time**: the median per cell. For Jev and Clairic, the API round trip; for Claude, the API time reported by the Claude Code CLI (excluding the CLI's start-up).
- **Cost**: token counts times official list prices; these are estimates, not bills. Per million tokens: Jev $0.042 input (output is free), Clairic $0.10 input, and from [Anthropic's price list](https://platform.claude.com/docs/en/about-claude/pricing) Opus 5.5 $4 in / $20 out, Sonnet 5.5 $2 / $10, Haiku 5.5 $0.10 / $0.50. Claude is counted as one uncached call per cell.
- **How Claude was called**: through the Claude Code CLI with its default system prompt and tools removed (a one-line system prompt), the image inside the message, one call per cell; close to calling the API directly.
- **Dates**: Jev and Clairic on November 2, 2026; Claude on November 3, 2026.

## Results

![Results chart: correct calls of 107 cells, median time per cell, and cost per 1,000 cells (list price, log scale) as horizontal bars. Correct: Jev+Clairic 99, Opus 95, Jev 94, Clairic 91, Sonnet 91, Haiku 63. Time: Jev 0.2 s, Opus 1.8 s. Cost: Jev $0.033, Opus $5.5](https://unlock-japan.co.jp/blog/jev-road-cracks-results-en.png)

| AI | Correct (/107) | Clean called cracked (/47) | Cracked called clean (/60) | AUC | Time per cell | Cost per 1,000 cells |
|---|---:|---:|---:|---:|---:|---:|
| Jev+Clairic | 99 | 2 | 6 | 0.943 | not measured | $0.081 |
| Claude Opus 5.5 | 95 | 6 | 6 | 0.944 | 1.8 s | $5.5 |
| Jev | 94 | 7 | 6 | 0.940 | 0.2 s | $0.033 |
| Clairic | 91 | 10 | 6 | 0.926 | 0.4 s | $0.049 |
| Claude Sonnet 5.5 | 91 | 11 | 5 | 0.933 | 1.2 s | $2.3 |
| Claude Haiku 5.5 | 63 | 44 | 0 | 0.907 | 1.5 s | $0.18 |

- "Cracked called clean" is 5 or 6 for everyone because the line was set to catch 90% of crack cells. The differences show up in "clean called cracked".
- AUC is the share of (crack cell, clean cell) pairs where the crack cell got the higher score: 1 if every pair is right, 0.5 for coin flips. It measures how well the scores are ordered, before any line is drawn.
- Jev+Clairic asks Jev and Clairic separately, and we did not time the pair (alone: Jev 0.2 s, Clairic 0.4 s).
- Haiku gave the same score, 8, to 32 of the 47 clean cells and to 7 crack cells. The 54th crack score happened to be 8, so the line fell at 8 and the whole block of 8s was called cracked. With the line just above that block (10 or higher), Haiku caught 53 of the 60 crack cells and called 12 clean cells cracked.

### Examples of Jev's calls

![Examples of Jev's calls in a 2 by 2 grid: rows are our label (crack, no crack), columns are Jev's call, two cells each. Right: a clear single crack and a net of cracks; a plain road and a road with a painted line. Wrong: two thin cracks and a faint crack at the edge called clean; a pavement joint and a worn painted line called cracked](https://unlock-japan.co.jp/blog/jev-road-cracks-examples-en.png)

With Jev's line (crack probability 0.24 or higher), we picked two right and two wrong cells of each kind. For reference, each shows Opus's score for the same cell too (its line is 20).

- **Crack called crack (right)**: a clear single crack (0.95) and a net of cracks (0.98) scored high with both Jev and Opus.
- **Clean called clean (right)**: a plain road (0.10) and a road with a painted line (0.12); the paint was not mistaken for a crack.
- **Crack called clean (wrong)**: two thin cracks (0.23) fell just below the line, and Opus (55) caught them. A faint crack at the edge (0.21) was missed by Opus (12) too.
- **Clean called crack (wrong)**: a pavement joint (0.28) and a worn painted line (0.36). Opus (40 and 52) called both cracked as well: lines that look like cracks pulled both models.

### Two or more cracks?

Over the 107 scored cells, we counted the cells each AI called "two or more" and how many of those we had also labeled two or more. Jev+Clairic has no count answer and is left out.

| AI | Called "two or more" | Really two or more | Right | Found, of the 26 cells with two or more |
|---|---:|---:|---:|---:|
| Jev | 19 | 13 | 68% | 13 |
| Clairic | 18 | 15 | 83% | 15 |
| Claude Opus 5.5 | 15 | 13 | 87% | 13 |
| Claude Sonnet 5.5 | 11 | 10 | 91% | 10 |
| Claude Haiku 5.5 | 9 | 9 | 100% | 9 |

No AI called a clean cell "two or more"; the misses were all cells we labeled as one crack.

## What we learned

### Jev told crack from no crack about as well as Opus, at about 1/170 of the cost

Correct calls were close: Jev+Clairic 99, Opus 95, Jev 94. Per 1,000 cells, Jev cost $0.033 and Jev+Clairic $0.081, against $5.5 for Opus (about 170 times Jev). A cell took 0.2 s with Jev and 1.8 s with Opus. In this case, **Jev held its accuracy while asking about every cell cost almost nothing in money or time, and that is where it stands out**.

### The top three ordered the cells almost equally; the line decided the gaps

AUC was 0.944 for Opus, 0.943 for Jev+Clairic and 0.940 for Jev: almost no difference. Moving the line by one, from the 54th-highest to the 55th-highest crack score, changed the number of clean cells called cracked like this:

| AI | Line at the 54th score | Line at the 55th score |
|---|---:|---:|
| Jev+Clairic | 2 | 6 |
| Claude Opus 5.5 | 6 | 16 |
| Jev | 7 | 7 |
| Clairic | 10 | 13 |
| Claude Sonnet 5.5 | 11 | 11 |
| Claude Haiku 5.5 | 44 | 44 |

A gap of a few cells is within this wobble, and one person made the answer key, so these 107 cells cannot rank the top three. An AI that gives many cells the same score, like Haiku here, swings widely with how the line is drawn.

### On counts, "two or more" was usually right, but most such cells were missed

When an AI said "two or more", 68 to 100% of those cells really had two or more cracks. But each AI found only 9 to 15 of the 26 such cells, calling the rest one crack or none. Even the nearest cells are only about 60 px tall in the original photo, and we hesitated over one crack or two while labeling. At this resolution, counting may simply be near the limit of what can be seen (our guess). For Jev, [TypeSafe's docs](https://docs.typesafe.ai/model-jaggedness/jev-1.13) (for Jev 1.13) also say "jev-1.13 does not count reliably." (their examples count things like letters, not cracks in photos).

### Narrower questions brought fewer false alarms (comparing different experiments)

Before cutting cells, we had also shown Jev whole photos and asked whether there was damage anywhere. With a line that catches 90% of damaged photos, Jev called 47% of undamaged photos damaged. Shown crops around RDD2022's boxes (again catching 90%), it called 9% of undamaged crops damaged. With the cells here, it called 7 of the 47 clean cells (15%) cracked.

These three used different photos and different answer keys (the whole photos and crops were scored against RDD2022's boxes, which miss some damage), so they are not a test that changes only how much is shown. Still, the pattern was that **pointing at a place and asking a specific question worked better than asking the AI to search the whole photo**. Cells are cut by math, so every part of the road can be asked about without anyone pointing.

## Discussion: against human inspection

### Judging is cheap next to the people it would take

We converted our numbers to lengths of one lane. A strip 4 m wide and 1 km long makes 4,000 cells of about 1 m. From the cost per 1,000 cells and the median time per cell, we get the table below. Our own labeling pace of about 3 s per cell is shown for reference.

![Horizontal bars comparing people and survey vehicles with AI for 100 km of one lane. Cost: the whole survey vehicle job $16,000, its office work $6,400, Opus $2,200, Jev $13. Time: a person sorting by eye about 330 h, Opus about 200 h, Jev about 24 h](https://unlock-japan.co.jp/blog/jev-road-cracks-human-en.png)

| Who judges | Cost per km | Cost per 100 km | Time for 100 km, one cell at a time |
|---|---:|---:|---:|
| Jev+Clairic | $0.33 | $33 | not measured |
| Claude Opus 5.5 | $22 | $2,200 | about 200 h |
| Jev | $0.13 | $13 | about 24 h |
| Clairic | $0.2 | $20 | about 43 h |
| Claude Sonnet 5.5 | $9.1 | $910 | about 140 h |
| Claude Haiku 5.5 | $0.71 | $71 | about 170 h |
| Us, sorting on screen (reference) | – | – | about 330 h |

- The survey vehicle's office work (analysis, reports and so on) costs about $6,400 per 100 km. **Jev's $13 is roughly 1/500 of that**, and **Opus's $2,200 roughly a third**.
- At about 3 s per cell, a person would need **about 330 hours for 100 km** (about 42 eight-hour days). Jev takes 0.2 s per cell, **about 24 hours even asked one cell at a time**. Asking many cells at once should be faster still, but we did not measure that.
- Opus, at 1.8 s per cell, is about as fast as our 3 s. **The speed gap with people comes from Jev's 0.2 s**.

### What remains: taking the photos and checking the calls

Even if judging costs almost nothing, taking the photos and having people check the cells the AI calls cracked still cost money. In the $16,000 survey vehicle sheet, measuring on the road is about $3,500 and the vehicle and equipment about $5,300: **more than half the cost lies outside the judging**. Our costs leave out taking the photos.

**Checking can shrink to the cells the AI flags**. Here Jev called 7 of the 47 clean cells (15%) cracked while catching 54 of the 60 crack cells. Our 120 cells were picked on purpose, though, so how many cells people would check on a real road depends on how many cracks it has.

### Not a substitute for an official crack ratio

The catalog lists survey vehicle technologies confirmed to pick out cracks 1 mm wide. Our scored cells are only about 60 px tall in the original photo, so one pixel covers about 1.7 cm of road. We only asked whether a cell of about 1 m has a crack, which **cannot replace an official inspection that computes the crack ratio from 0.5 m squares**.

Still, in the government survey above, 80% of municipalities did not inspect their pavement. Not as a replacement for official inspection, but **for light surveys aimed at covering more road and checking it more often, this cost and speed look usable**. That is our current reading.

## Conditions and limits

- Only 107 cells were scored (60 cracked, 47 clean), and one person made the answer key.
- The 120 cells were picked as 40 each from RDD2022 crack boxes, photos with no damage marked, and the rest. Real roads have a different mix, so the number of clean cells called cracked would differ too.
- The line was set on the same cells that were scored, which flatters the results.
- Jev and Clairic got the context text; Claude's prompt was shorter and listed fewer look-alikes.
- Only RDD2022's 600 px dashboard photos were used, and only the two middle cells of the nearest row were scored.
- Camera height 1.3 m and a horizon at mid-height were assumed for every photo. Real photos differ, so the cells' real size is off by an amount we did not measure.
- Jev's image input is officially experimental.
- Times and costs are for the way we called each model. Costs are estimates from list prices, not bills.
- Costs and times per km and per 100 km assume 4,000 cells of 1 m for a strip 4 m wide and 1 km long, and leave out taking the photos. Only two cells in the nearest row were scored; we have not checked that a kilometer of photos really yields 4,000 cells that can be judged.
- The costs and turnaround for people and survey vehicles come from sources with different conditions (a concrete expressway; prices covering crack ratio, rutting and IRI together; a contract that includes updating a plan). They are not prices for the same job as ours.
- Our pace of about 3 s per cell is one person sorting pre-cut cells on a purpose-made page, once (under six minutes from starting the page to the last save, divided by 120). Many cells were hard to call, and this is not the same as an official visual inspection.
- Our first Claude run (November 2, 2026) used Claude Code's default system prompt and tools, which added a large cost: per cell, Opus $0.19, Sonnet $0.09 and Haiku $0.0047. Every Claude number on this page comes from the rerun on November 3.
- The scoring rules (Jev+Clairic's sum, Clairic's mean count) and the line rule were fixed in advance, but we tried only one way of combining the models.
- The photos in our figures are cropped and warped from RDD2022 ([CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/)) with the cell grid drawn on; those figures are shared under CC BY-SA 4.0 (RDD2022 is distributed at [RoadDamageDetector](https://github.com/sekilab/RoadDamageDetector)).

UnlockJapan has no partnership, payment or sponsorship relationship with TypeSafe or Cloudflare.

Share this post

## Related reading

Blog

2026-10-26

### Clairic and Jev on 100 return emails: four experiments

2026-10-21

### Jev Othello benchmark: 900 games on prompting and splitting

The series on note (Japanese, machine-translated)

note2026-10-20

### What is Jev? Where it stands one month after release

[Blog](https://unlock-japan.co.jp/en/blog/)

---

- Site overview for agents: https://unlock-japan.co.jp/llms.txt
- Sitemap: https://unlock-japan.co.jp/sitemap.xml
- Other language: https://unlock-japan.co.jp/ja/blog/jev-road-cracks/
- Contact: contact@unlock-japan.co.jp
