4.9/5 on Clutch — 13 verified reviews
IndustryAutomotive / Fleet Diagnostics
DeliveredNatural-Language Repair Search
Data Scope160,000+ Repair Records
Result85% Less Search Time
Diesel Repair Chat · Ask, Don't Filter

No More Dropdowns. Just Type What's Wrong With the Truck

A truck is on the lift, and finding the right repair step used to mean five dropdowns (make, type, year, model, symptom) through 160,000 records. One wrong pick and the search came back empty. Now a technician just describes the problem, in their own words, and the right repair step comes back with the record it came from, an 85% cut in search time.

85%
Search time reduction

Across the full 160,000+ record repair catalogue, the verified proof point on this build

<2 sec
To an answered repair lookup

One typed sentence replaces a multi-step filter through 160,000 rows

35%
Lower AI infrastructure cost

Managed inference on AWS Bedrock instead of dedicated GPUs to rent and run

25%
More answers on the first try

A vague question gets one follow-up question, not an empty result page

The problem

The Answer Was Always in There. Getting to It Was the Job.

Diesel Repair users found procedures through dropdown filters and manual lookups: make, then type, then year, then model, then symptom. Every one of those is a chance to pick the wrong thing, and the dataset behind it is roughly 160,000 rows, so a near-miss returns nothing rather than something close.

The specification is blunt about the result: inefficient, prone to input errors, and frustrating, with friction rising as the dataset grows. The brief was not to reorganize the data. It was to change how a person asks for it, and to keep every row of it inside Diesel Laptops' own AWS environment while doing so.

A technician should describe what the truck is doing. Not reverse-engineer how somebody filed the document five years ago.
Kodexo Labs project team
Before

Five Dropdowns, in Order, Spelled Right

Make, type, year, model, symptom. One wrong pick and the result is 0 documents found.

Now

One Sentence

A plain sentence, spelled however the technician spells it.

160,000

Rows of repair documents behind the lookup

5

Attributes that all had to be right at once

1

Wrong pick, and the result is indistinguishable from no answer

What we built

Six Commitments in the Specification, One Chat Box in Front of Them

The interface is the visible part. Behind it: how the data gets prepared, how a match is found, how the rest of the product reaches it, who is allowed in, and what gets recorded. Objectives 2.1 to 2.6 of the specification.

01Describe the Truck, Not the Database.+
Natural language interface

Free text about a repair issue goes in; make, year, model, type, and symptom come out of it. A follow-up sentence refines the search instead of restarting it.

Fuzzy matching, multi-turn context
02160,000 Rows, Made Searchable by Meaning.+
Data ingestion & indexing

The existing spreadsheet is cleaned, indexed for meaning, and tagged so exact fields can still be filtered on, built to the sub-2-second target.

CSV cleaning, metadata tags
03Two Searches at Once, Then a Written Answer.+
Retrieval & response

Meaning-based matching runs alongside exact filters. The written answer carries its source, the row number and document title, back with it.

Hybrid search, attribution
04Four Endpoints the Rest of the Product Can Call.+
API & integration

Ask a question, manage a conversation, check system health, send feedback. A capability the product can reuse, not a screen bolted onto one page.

/ask/sessions/status/feedback
05Every Request Is Signed, Every Role Is Scoped.+
Authentication & access

Token-based auth on every endpoint, expiring after 24 hours by default, with role-based control over admin functions.

JWT, rate-limited retries
06Thumbs Down Is Data, Not Noise.+
Monitoring & logging

Every operation is logged and a rating is stored against the question that produced it, for diagnostics and for compliance review.

Logs, metrics, audit trail

Why the guardrails mattered

Anything Can Search. Very Little Says "That Isn't What You Meant" Before It Does.

A chat box that answers anything is worse than a dropdown, because it answers confidently. So three checks run before a single row is read, and a missing detail becomes a question rather than a guess.

1Gate one

Is this a repair question at all?

Relevance to the diesel repair domain is checked first, so off-topic questions are turned away instead of answered from a dataset that has nothing to say about them.

2Gate two

Do these details look real?

Extracted attributes are validated, and fuzzy matching resolves abbreviations, shop slang, and typos to the right make and model rather than returning nothing.

3Gate three

Does this contradict what was just said?

A follow-up that disagrees with the earlier conversation is caught, so the system does not quietly go searching for the wrong truck.

If Something Is Missing, It Asks

When a query is ambiguous, the model prompts for the missing detail instead of inventing a plausible procedure. That is written into the specification as the way hallucination is prevented.

And Every Answer Shows Its Work

Row number and document title travel with the response, so a wrong answer can be traced to the row that produced it rather than argued about.

The solution

Four Layers, Stacked, Each With One Job

Open-source pieces do the indexing and the storing, inside Diesel Laptops' own cloud account. A managed service does the language work, so nobody buys or babysits a GPU.

01

Query Processing

The front of the pipeline

Reads the question, lifts out make, model, year, type, and symptom, and rewrites them into the structured query the index expects.

Language parserAttribute extractorQuery translator
02

Data Processing

Self-hosted, in their VPC

Cleans the CSV, converts every row into something searchable by meaning, and stores it with its metadata inside the client's own environment.

CSV cleanerBGE Small v1.5Qdrant + filters
03

Language Layer

Managed, no GPUs

Takes what the search returned and writes a readable answer, with scope control ahead of it and source attribution attached to it.

GuardrailsAWS BedrockPrompt framework
04

Operations

Around all three

Holds the conversation, records the operation, exposes the numbers, and collects the rating that tells the team what to fix next.

SessionsLogs & auditMetrics & feedback
Swipe →
The trade we made

Open Source Where It's Cheap, Managed Where It's Expensive.

  • Embedding and storage stay self-hosted, so the data never leaves the client's AWS account
  • Language work runs on AWS Bedrock, so there is no GPU fleet to buy or keep busy
  • Containerised deployment, so scaling up is a configuration change rather than a rebuild

How it works

One Sentence In. The Right Repair Out.

A technician types how the truck is behaving. Four things happen in under two seconds. Pick any step to see what the system is doing at that moment.

Swipe & tap →

The Technician Just Types It

Step 1 of 4
What gets typed

"2018 Cascadia keeps derating after a regen, no codes on the dash"

What the system is doing
  • No make, model, year, system or symptom dropdowns to work through first
  • The request is authenticated and checked before anything runs
  • Spelling and phrasing do not have to match how the document was filed

The old lookup needed five filters in the right order. This needs one sentence.

Ask, don't filter

System architecture

The Whole System on One Page

Read it top to bottom: a question goes in, a repair procedure comes out, and everything in between stays inside Diesel Laptops' own cloud account.

1 · The question

A technician types a plain sentence

A plain sentence, with no dropdowns and no field order to get right

2 · Making sense of it

Read the sentence

Pulls out make, model, year, system, and symptom

Sanity-check it

Is this a repair question, do the details look real, do they contradict each other?

Remember the thread

Folds in what this person already told us

3 · Finding the right document

The searchable library

The 160,000-row spreadsheet, cleaned and turned into an index that understands wording, not just exact spelling

Two searches at once

Meaning-based matching finds close wording; exact filters on make, model, and year keep the wrong trucks out. Best matches win.

4 · Writing the answer

A managed AI service writes it up

AWS Bedrock turns the matched rows into a readable answer, and if something is missing it asks a question instead of guessing. The source row travels with it.

5 · Back to the bay

The right repair procedure, in seconds

Shown with the document it came from, so it can be checked

Thumbs up / down

Stored with the question

Logs and dashboards

Every operation recorded

All of it runs inside Diesel Laptops' own AWS environment, so the repair data and its search index never leave it

Under the hood

The Tools We Used, and What Each One Does

Self-hosted where the data lives, managed where the compute would otherwise be expensive, containerised so a busier week is a scaling decision rather than a project.

Production stack
Seven pieces, one job each

AWS Bedrock

Runs the language model that writes each answer, with no GPU infrastructure to own.

The model layer

Qdrant

Stores the searchable version of every row, with the metadata that makes exact filtering possible.

Where the index lives

BGE Small v1.5

Converts repair text into the numeric form that similarity search compares against.

How meaning is captured

FastAPI

Serves the ask, sessions, status, and feedback endpoints the product calls.

The API

Docker on AWS

Packages the service so it deploys the same way every time and scales sideways under load.

Where it runs

JWT and TLS 1.2+

Signs every request and encrypts everything in transit, with keys expiring by default after 24 hours.

Who gets in

Prometheus & Grafana

Expose and chart the system's own numbers, with configurable alert thresholds.

What the team watches

50 Users at Once, 300 Requests a Minute

The throughput floor the system was specified to hold without degrading.

Room to 500,000 Records

Performance holds to five times the data, with no more than 15% slowdown at 5x volume.

99% Uptime, 15-Minute Recovery

Business-hours availability, with failures contained rather than cascading.

Nothing Leaves the VPC

The repair data and its search index stay inside the client's own AWS boundary.

Swipe →

The outcome

Built for the Dataset They Have, and the One They'll Have

Six outcomes came out of this build: three about the lookup itself, three about what the architecture leaves room for. The lookup got faster and less error-prone; the search layer became something the rest of the product can call.

<2 sec
Per repair lookup

An answer arrives in under two seconds instead of a multi-step filter through a 160,000-row list.

45%
Fewer misrouted queries

Guardrails, fuzzy matching, and contradiction detection catch the wrong-make and wrong-engine errors before search runs.

25%
More answers on the first try

A vague question earns one follow-up prompt rather than a dead end that sends the user back to the start.

35%
Lower AI infrastructure cost

Managed inference on AWS Bedrock, measured against a comparable self-hosted GPU deployment.

340K
Records of headroom left

About 3x today's dataset can be added before re-architecture, against a 500,000-record scalability target.

3
Further deployments without a rebuild

Tenant isolation was specified in, so another product area is a configuration rather than a project.

Swipe →

The Truck Comes Off the Lift Sooner

A lookup that took a sequence of filters and a retry now takes a sentence and under two seconds.

Wrong Answers Are Traceable

Every response carries its row and document title, so an admin can see exactly what it was built from.

The Data Never Left Home

Embeddings and storage stay inside the client's own AWS account, encrypted in transit throughout.

Frequently asked

Common Questions About a Build Like This

If Your Team Still Filters Dropdowns to Find an Answer, We've Built This Before

Diesel Laptops had 160,000 rows of repair procedures behind five dropdowns. Bring us the equivalent (a parts catalogue, a claims history, a service archive) and 30 minutes will tell you whether natural-language search fits it.

Talk to Our AI Team

Related work

More AI Systems Built for Real Products

See the Portfolio