Building MOT History Free: a UK vehicle history checker on Next.js + DVSA's API

Building MOT History Free: a UK vehicle history checker on Next.js + DVSA's API

4
calendar_today agoschedule2 min read

I've spent the last few months building MOT History Free, a UK vehicle history checker — think "paste your number plate, get the full MOT/tax/mileage story" — and wanted to share some of the technical decisions behind it.

The problem

The UK government exposes a free MOT history API (DVSA), and most "MOT checker" sites are just thin wrappers around it with heavy ads. I wanted to build something that goes further: cross-referencing mileage anomalies (the classic "ghost MOT" fraud pattern — a car skipping an expected test, or mileage that quietly drops between records), tax/SORN status, and V5C logbook history, packaged into one report instead of five different gov.uk lookups.

Stack

Next.js (App Router) on the frontend, server actions for the pre-check flow
A guest checkout flow with PayPal — no account required, £0.99 per report
The trickiest part wasn't the report itself, it was the payment UX: PayPal's Buttons() component renders a cross-origin iframe for card fields, which means zero CSS control over anything inside it (learned that one the hard way — spent an evening trying to override an inline color on their legal disclaimer text before realizing it's a different document entirely). If you need actual style control over card fields, CardFields() (Advanced Card Payments) is the only path — hosted fields you can theme, versus the all-in-one iframe you can't touch.

Conversion detail worth sharing

Instead of a generic "here's what you get" bullet list before checkout, I show a locked/blurred preview of real report fields (tax status, MOT expiry, last V5C issue date, etc.) with a lock icon over each — same pattern as LinkedIn's "who viewed your profile." Concrete-looking blurred data converts noticeably better than abstract feature descriptions, because the brain registers "there's a real answer here" instead of "here's a list of promises."

What's next

Working on surfacing mileage-rollback detection more prominently in the free pre-check, since that's the single biggest "oh, I need this" moment for most visitors before they even see the paywall.

Happy to go deeper on the DVSA API integration or the PayPal guest-checkout flow if anyone's curious — AMA in the comments.

🔥 Join developers growing publicly
Share your knowledge, build in public, and grow your developer presence with a global community.

More Posts

Merancang Backend Bisnis ISP: API Pelanggan, Paket Internet, Invoice, dan Tiket Support

Masbadar - Mar 13

The Zero-Net-Loss Fleet & The Mercenary Squad: A Live AI Economy

DEVPlank - Aug 4

TypeScript Complexity Has Finally Reached the Point of Total Absurdity

Karol Modelskiverified - Apr 23

Complete MDX Blog Setup with next-mdx-remote and Next.js 16 (2026 Beginner Guide)

muhammadali - Jul 30

Connect a Solana wallet in Next.js to start building dApps effortlessly.

adewumi israel - Jan 24, 2025
chevron_left
126 Points4 Badges
Saloudrivium.net
1Posts
0Comments
Full Stack Developer.
No fear, always giving best solutions.

Related Jobs

View all jobs →