I let readers set the weights, and kept the rankings' disagreement in view.
Ordinal combines QS, THE, ARWU and US News into one composite place per university, at weights the reader sets, with CWUR shown for reference at a default weight of 0. Each school also shows where every publisher puts it, and a missing figure stays blank.
- Role
- Product direction, design decisions, design system, data policy
- Team
- Me, with Claude (AI)
- Timeline
- June 2026–now
- Context
- Personal project, published as Ordinal, by Zyltech
- Status
- Live at ordinal.institute since 26 Jul 2026. 3,281 universities and 9,051 published placements in the build of 18 Oct 2026.
- Testing
- Not user-tested, and no traffic data
- How it was made
- Product direction, design decisions, the design system and the data policy are mine. Code, data capture, merging and audits were done with Claude (AI) under that direction.
The problem
The same university can sit hundreds of places apart from one ranking to the next. On Ordinal's home page, the readout says "Universiti Malaya at least 545 places apart".
Many placements are not single places either. In the build of 18 Oct 2026, 3,699 of the 9,051 published placements are bands, such as 601–700. Averaged as if they were exact ranks, they give an answer that looks precise and is wrong.
I print a band the way the publisher gave it, and count it at its middle in the composite.
In the build of 18 Oct 2026, the home page shows QS placing Universiti Malaya 56th and ARWU giving only a band, 601–700. Ordinal prints that band as published and counts it at its middle in the composite. Counting a band at its first number would give every banded school its best case. Counting at the middle was my judgement.
The readout's "at least 545" is the distance from 56 to 601, the near end of ARWU's band.
A missing figure stays blank, and nothing is estimated in its place. That rule began as my own request.
I let a school into the table only once at least 3 core rankings list it.
A school listed by one or two rankings has less behind its composite than one listed by four. Two fixes were tried and withdrawn: a penalty coefficient for thin coverage, and a cap at 2,500.
I replaced both with the threshold, and the table states it in plain words. In the build of 18 Oct 2026, 1,247 of 3,281 universities meet it, and the other 2,034 are one Show button away. CWUR does not count toward the 3.
Before The page's own count: 3,205 universities, data captured 25 Aug 2026. All of them are in the table, and the weight chips show colours and numbers with no names. Open full size: rankings page, before
After Build of 18 Oct 2026. The table opens on 1,247 universities and counts the rest. Each weight chip is named, and each row has a small log scale. Open full size: rankings page, after
I gave every school the same scale, and the scale never moves.
The Scale is Ordinal's signature component. It is a log axis with five lanes, one per publisher, and an ink bead for the composite. On a log axis, places 1 to 10 get as much width as places 100 to 1,000, so differences near the top stay readable.
It comes in three sizes, S, M and L. It never animates, so a mark is only ever where the data puts it.
I took the legends off the charts and labelled each mark directly.
I objected to the legends on Ordinal's charts. With a legend, every reading is a trip from the mark to the key and back.
Claude then reviewed charts the FT has published. A legend appeared 0 times, and the plot area took 70.3% of the canvas. The legends came off. Publisher names now sit beside their own marks, and notes are written onto the plot.
I had the phone layout redone as its own design.
I criticised the first phone version for looking squashed sideways, and it was redone as a separate design.
On Rankings, each school is now a card: the composite and its small scale first, then each publisher's place in two columns. Sorting is a row of chips above the list. Audit 8 was shot at 390 pixels wide, as well as 768 and 1440.
What changed along the way
I started building a personal university ranking page. Early on, from what I know of the field, I caught universities listed under more than one name: Ryerson was folded into Toronto Metropolitan University, and the Université du Québec schools were left apart on purpose.
Ordinal went live at ordinal.institute.
I started the v20 design system.
Claude's Audit 8 workflow shot the site at 1440, 768 and 390 pixels wide and logged 133 findings, which led to about 120 changes. 36 items are still waiting for my decision.
Checks
Each number has a build date or a source. Claude's scripts and audits produced the second group.
Build of 18 Oct 2026
9,051
published placements across 3,281 universities.
3,699
of those placements are bands, printed as the publisher gave them.
1,247
universities listed by at least 3 core rankings, and so in the table.
Claude's scripts and audits
125,248
renders checked by Ordinal's scale-honesty script, with 0 failures. Run by Claude on the build of 3,296 universities.
133
findings in Audit 8, 17–18 Oct 2026, which led to about 120 changes. Shot at 1440, 768 and 390 pixels wide.
18
cross-country mismatches between universities with the same name. Found by a check Claude ran.
Gaps
Not user-tested.
I have no traffic data either, so nothing here says how readers use Ordinal.
Known holes in the data.
The site lists its own: QS's 2010 top 100 is missing 30 entries, and US News's 2014 top 100 is missing 44. Those cells stay blank.
No screenshots of the first versions.
The oldest view on this page is the rankings table from before the v20 redesign. Its data is dated 25 Aug 2026.
Audit 8 is not closed.
Its report still has 36 items waiting for my decision.
