# Vehicle data resolver

Haris Muhibić built a service that finds any vehicle on any dealer website from its VIN and returns clean, feed-ready data. It tries deterministic methods first and uses an LLM only as the last step.

- Role: Sole author
- When: 2026
- Stack: Node.js, AWS Lambda, SQS, DynamoDB, CDK, Bedrock, schema.org parsing

## The problem

Generated vehicle videos need at least five photos and five feature options per car, but dealer inventory feeds are often thin. The full details are on the dealer's own website, and thousands of dealer sites run on dozens of different platforms.

## How it works

A ladder that tries the cheapest reliable method first:

1. **A cached adapter** for that dealer's site, if one already works.
2. **Discovery:** the platform's inventory endpoint, then the sitemap, then the site's own search.
3. **Extraction:** structured data (schema.org Vehicle), then JSON embedded in the page, then the HTML itself.
4. **An LLM fallback**, used only when the record is still incomplete.
5. **Paid data sources** as a last resort, for sites that block automated access.

No browser runs in production. When a new platform appears, an offline tool records its network traffic so engineers can write a browser-free playbook for it. About 10–15 website platforms cover most dealers.

## Making sure it's the right car

- **Identity gate:** every result must match the requested VIN or stock number and pass the VIN check digit (ISO 3779).
- **Image check:** a gallery is rejected if any image URL contains a different VIN.
- **"Sold" needs proof:** a vehicle is marked sold only on explicit proof that the listing is gone.
- **Grounded enrichment:** a model can add missing options from the description, but an option is kept only if its words actually appear in the source text.

---
Haris Muhibić · chern0.dev · haris@chern0.dev · Book a call: https://calendar.app.google/qiN9zJrS5gSqQPky8
