Turboscore
AI-powered Nordic used-car search with natural-language query and a 1–100 score.
→ Natural-language query → ranked, scored shortlist in one round-trip.
A consumer-facing search and ranking tool for the Nordic used-car market. The big public listing portals have rich filters but no good way to express what people actually want in plain language: “a reliable manual diesel hatchback under 200k that won’t be a rust trap by 2028”.
What it does
You type something like that, in either language. Turboscore parses the intent — body type, drivetrain, age, budget, region, the soft stuff like “reliable” and “not a rust trap” — and ranks every matching listing on a 1–100 score derived from a learned model trained on real depreciation curves, recall histories, owner-reported reliability, and the listing’s own signals (mileage, service history, photos that look honest, price relative to comparable trim).
The result is a shortlist where the top entries are not just “matches my filters” but “would be a defensible buy given what I asked for”. That is the whole product.
┌─[ 00 QUERY ]─────────────────────────────────────────┐ │ > reliable manual diesel hatchback under 200k │ └─────────────────────────┬────────────────────────────┘ ▼ ┌─[ 01 INGEST ]────────────────────────────────────────┐ │ │ │ scrapers ──> normalise ──> Postgres + pgvector │ │ │ └─────────────────────────┬────────────────────────────┘ ▼ ┌─[ 02 RANK ]──────────────────────────────────────────┐ │ │ │ intent LLM ──> retrieve ──> score LLM (1–100) │ │ │ └─────────────────────────┬────────────────────────────┘ ▼ ┌─[ 03 RESULTS ]───────────────────────────────────────┐ │ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░ 82 VW Golf 2019 │ │ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░ 77 Toyota Auris 2018 │ │ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░░ 71 Škoda Octavia 2017 │ │ ▓▓▓▓▓▓▓▓▓▓▓▒░░░░░░░░ 58 ... │ └──────────────────────────────────────────────────────┘
Tech notes
- Frontend: SvelteKit, Norwegian-first with Swedish locale switch
- Backend: FastAPI, PostgreSQL for the listing snapshots, pgvector for the embedding-driven semantic match
- Scrapers: modular Python crawlers (sibling to Crawler), respectful rate limits, full diff-based snapshotting so we can show price-history trails
- LLM layer: Claude for query interpretation; locally-hosted embedding model for the vector index; a small ranker fine-tuned on resolved sales and time-on-market
- Hosted on the same Linux infrastructure that runs everything else here — no third-party SaaS in the hot path
Status: live in soft launch. Public-facing product, no NDA.