Back to Building
LiveWebsitesTraining tools20263 months to build

MedRank

CQC ratings and GMC trainee satisfaction for 500+ NHS hospitals, in one place. Upload your Oriel export and it ranks every placement on real data, then hands the order back to Oriel. So you rank training jobs on something better than word of mouth.

Choosing where to train means ranking hospitals you know almost nothing about. The data exists, it's just split across two government websites nobody wants to cross-reference at 11pm. So I pulled it together.

Next.jsTypeScriptPostgreSQLMapboxStripe

What it is

MedRank pulls together the two things that actually tell you whether a hospital is a good place to train (CQC inspection ratings and GMC National Training Survey scores) for over 500 NHS hospitals, and puts them in one searchable place.

It's aimed at the people who have to rank training jobs with almost nothing to go on: foundation doctors picking specialty posts, core surgical trainees ordering their preferences, anyone staring at the Oriel spreadsheet wondering how they're meant to choose.

That last group is what Oriel Ranker is for, and it went live this year. You upload the Oriel export exactly as it comes, and MedRank reads it, matches every placement to CQC and GMC data, and lets you rank the whole list against quality and travel instead of guessing. A core surgical offer list can run to 649 rows of free text. That is the problem the app now solves end to end.

What I built

Four things now, and the fourth took the longest.

  • Search and map: find hospitals by name, city, trust, region, CQC rating or specialty, with results next to an interactive Mapbox view showing where everything actually is
  • Hospital detail pages: CQC ratings broken down by service (A&E, surgery, medicine), GMC trainee satisfaction scores, and the domain-level picture (safe, effective, caring, responsive, well-led)
  • A rotation builder: assemble a potential rotation, see every placement on a map, and get a travel burden score, because where you'll be driving for three years matters more than people admit
  • A Digital Maturity filter: whether a trust runs a modern EPR or you'll be writing on paper drug charts at 3am
  • Oriel Ranker: upload the raw Oriel export, have every placement matched to real data automatically, rank the list with quality and distance next to each row, and send the final order back to Oriel
App screenshot 1
App screenshot 2
App screenshot 3
App screenshot 4
App screenshot 5

Oriel Ranker

Preferencing works like this: you are sent a spreadsheet of offers, written in whatever format your region felt like using, and asked to put it in order. Free-text placement descriptions, trust names spelled four different ways, hundreds of rows. Everyone does it by hand, badly, in a weekend.

Oriel Ranker takes the export as-is. It parses the rows, matches the hospitals to the CQC and GMC data already in MedRank, and gives you a ranking screen where every rotation carries its quality scores and travel burden next to it. You reorder until it looks right, then export the order back to Oriel rather than dragging every post by hand.

Parsing that mess reliably is the whole engineering problem, and most of this year's work went into it: large files that time out, retries that used to lose your saved rotations, uploads superseded halfway through. Pricing follows the same logic. Ranking, reordering and exporting are free. You pay £14.99 once, at the point you upload, because the upload is the expensive part. If it fails, the credit goes back.

  • Hospital Explorer, Rotation Builder, and shared rotation links are free
  • Oriel Ranker is £14.99 once per upload, no subscription and nothing auto-renewing
  • Ranking, reordering and export stay free afterwards, and trainee GMC data stays unlocked on the account
  • Currently running on CQC data from January 2026 and GMC surveys from 2025 and 2026

Why I built it myself

When you're offered training posts, you rank your preferences with barely any real information. Most people go off reputation, a forum thread from 2019, or whatever a friend of a friend said.

The better data was always there. CQC and GMC both publish it. But it lives on two separate sites in two separate formats, and cross-referencing it by hand is enough of a pain that almost nobody does it.

I'd gone through preferencing myself and felt exactly this. It seemed daft that the thing deciding three years of my life came down to vibes. So I built the tool I'd wanted.

Stack

Next.js and PostgreSQL with Prisma, Mapbox for the maps, Tailwind for styling, hosted on Vercel and pinned to London so uploads run near the database. Oriel Ranker added the parts a read-only site never needs: accounts through NextAuth, payments through Stripe, and an AI parsing pass that turns free-text Oriel rows into structured placements.

The harder call was the data, not the framework. Neither CQC nor GMC offers an API, so MedRank runs on its own database that I refresh rather than pull live. That's fine. A trust changes its EPR maybe once a decade and GMC data updates once a year. The honest move was a clear "last updated" date and a link back to the source, not pretending it's real-time.

What I learned

I built the first version on Lovable in a weekend. The frontend looked great. Then I tried to connect a backend, couldn't, read documentation I didn't understand, and eventually closed the tab. I didn't open it again for two months. I'd quietly decided I'd been kidding myself.

When I came back, I started over in the opposite order: database first, then the APIs, then the interface. That single change is the only reason MedRank exists. I wrote about the two months I quit in more detail on the blog; it's the part of these stories people usually leave out.

The other lesson was about me, not the code. I added the Digital Maturity filter because it was interesting to build, not because anyone asked for it. That's a pattern I've had to learn to watch. MedRank is live and does its job. The harder discipline was knowing when to stop adding to it.

Think MedRank would help you rank jobs?

Hospital Explorer and Rotation Builder are free for 500+ NHS hospitals, and Oriel Ranker will take your export whenever preferencing comes round. If it misreads your list or you want something similar for your specialty, get in touch.

Get in touch