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.
Across the full 160,000+ record repair catalogue, the verified proof point on this build
One typed sentence replaces a multi-step filter through 160,000 rows
Managed inference on AWS Bedrock instead of dedicated GPUs to rent and run
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.
Five Dropdowns, in Order, Spelled Right
Make, type, year, model, symptom. One wrong pick and the result is 0 documents found.
One Sentence
A plain sentence, spelled however the technician spells it.
Rows of repair documents behind the lookup
Attributes that all had to be right at once
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.+
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.
02160,000 Rows, Made Searchable by Meaning.+
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.
03Two Searches at Once, Then a Written Answer.+
Meaning-based matching runs alongside exact filters. The written answer carries its source, the row number and document title, back with it.
04Four Endpoints the Rest of the Product Can Call.+
Ask a question, manage a conversation, check system health, send feedback. A capability the product can reuse, not a screen bolted onto one page.
05Every Request Is Signed, Every Role Is Scoped.+
Token-based auth on every endpoint, expiring after 24 hours by default, with role-based control over admin functions.
06Thumbs Down Is Data, Not Noise.+
Every operation is logged and a rating is stored against the question that produced it, for diagnostics and for compliance review.
Describe the Truck, Not the Database.
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.
160,000 Rows, Made Searchable by Meaning.
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.
Two Searches at Once, Then a Written Answer.
Meaning-based matching runs alongside exact filters. The written answer carries its source, the row number and document title, back with it.
Four Endpoints the Rest of the Product Can Call.
Ask a question, manage a conversation, check system health, send feedback. A capability the product can reuse, not a screen bolted onto one page.
Every Request Is Signed, Every Role Is Scoped.
Token-based auth on every endpoint, expiring after 24 hours by default, with role-based control over admin functions.
Thumbs Down Is Data, Not Noise.
Every operation is logged and a rating is stored against the question that produced it, for diagnostics and for compliance review.
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.
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.
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.
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.
Query Processing
Reads the question, lifts out make, model, year, type, and symptom, and rewrites them into the structured query the index expects.
Data Processing
Cleans the CSV, converts every row into something searchable by meaning, and stores it with its metadata inside the client's own environment.
Language Layer
Takes what the search returned and writes a readable answer, with scope control ahead of it and source attribution attached to it.
Operations
Holds the conversation, records the operation, exposes the numbers, and collects the rating that tells the team what to fix next.
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.
The Technician Just Types It
Step 1 of 4"2018 Cascadia keeps derating after a regen, no codes on the dash"
- 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 filterSystem 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.
A technician types a plain sentence
A plain sentence, with no dropdowns and no field order to get right
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
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.
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.
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.
AWS Bedrock
Runs the language model that writes each answer, with no GPU infrastructure to own.
Qdrant
Stores the searchable version of every row, with the metadata that makes exact filtering possible.
BGE Small v1.5
Converts repair text into the numeric form that similarity search compares against.
FastAPI
Serves the ask, sessions, status, and feedback endpoints the product calls.
Docker on AWS
Packages the service so it deploys the same way every time and scales sideways under load.
JWT and TLS 1.2+
Signs every request and encrypts everything in transit, with keys expiring by default after 24 hours.
Prometheus & Grafana
Expose and chart the system's own numbers, with configurable alert thresholds.
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.
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.
An answer arrives in under two seconds instead of a multi-step filter through a 160,000-row list.
Guardrails, fuzzy matching, and contradiction detection catch the wrong-make and wrong-engine errors before search runs.
A vague question earns one follow-up prompt rather than a dead end that sends the user back to the start.
Managed inference on AWS Bedrock, measured against a comparable self-hosted GPU deployment.
About 3x today's dataset can be added before re-architecture, against a 500,000-record scalability target.
Tenant isolation was specified in, so another product area is a configuration rather than a project.
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
Did the repair data have to move anywhere?
No. Embedding generation and vector storage are self-hosted inside Diesel Laptops' own AWS environment, and the specification states no data is transferred outside that VPC unless explicitly authorized.
What happens when someone misspells a model?
Fuzzy matching handles misspellings, abbreviations, and non-standard shop terminology through the model, rather than failing the lookup the way an exact-match dropdown does.
What stops it inventing a repair procedure?
Answers are generated only from retrieved rows, and when a query is missing what the search needs, the system prompts for the missing information instead of filling the gap itself.
Can somebody ask it something unrelated?
Input validation guardrails check that a query is relevant to the diesel repair domain before it reaches search, and off-topic queries are treated as an explicit edge case.
How does a follow-up question work?
Session context is kept across a conversation and new details are merged with what is already known, with contradictions detected and the context reset when the topic changes significantly.
Can an admin see where an answer came from?
Yes. Source attribution carries the row number and document title through to the response, and every operation performed on a query is available through the monitoring logs.
Why a managed model service instead of our own GPUs?
Running inference on AWS Bedrock removes the need for dedicated GPU infrastructure while keeping costs predictable, which is what the hybrid architecture in the specification was chosen for.
Does this only work for repair data?
The pattern is a structured dataset, a language layer in front of it, and hybrid search between them. Multi-tenancy and data isolation were specified in so other parts of the product can reuse it.
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 TeamRelated work



