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.