How we check
Every fact is a quote. Rules decide. People verify.
A student deciding where to spend a quarter deserves to know where each fact came from and how sure we are. Here is exactly how a listing is made, what we measured, where it failed, and what this prototype cannot do yet.
From a web page to a listing
Fetch the page Bright Data
We read public UC San Diego pages — research labs, programs, transfer and first-gen centers, student orgs — plus flyers and Instagram posts. Each read is fingerprinted (sha256) and timed.
Read it Gemini
Gemini pulls out the title, deadline, requirements, how to apply and who can apply. Page text is passed as data, never as instructions.
Check every quote Fixed code
Every requirement, deadline and who-can-apply fact must come with an exact quote that we find word-for-word on the page. No quote, no fact: it is dropped or shown as “not stated”.
Decide eligibility Fixed rules
Whether you meet a requirement is worked out by versioned rules from the quotes and your profile. AI never decides eligibility, and your background is never guessed.
A person checks Reviewers
A reviewer compares the listing with its source before it gets a star. Students can report a problem from any listing; reports go to the same queue.
Keep a record Audit log
Every collection, re-collection, status change and report is written to an append-only log you can read on each listing under “Where this came from”.
What AI never does here
- Decide whether you are eligible. Rules do that, from quotes you can read.
- Guess your background. First-gen, transfer and international status come only from what you tell us.
- Use a fact it found on another website for eligibility. Those are shown as “AI web search · unverified” leads, with their source.
- Fill in a deadline it cannot quote. If the page has no date, we say so.
How accurate is the reading?
We split listings into a dev set and a test set by a hash of their id, before looking at any results. We only tune on dev. Below are hand-checked results on the test set: for each field, how many were right out of those where the page said something. A miss counts as wrong.
Loading…
Facts from elsewhere on the web
When a listing leaves something out, Gemini can search the web for it. A finding is kept only if we can open the page it came from and find the quote there. In our run on November 15, 2026, Gemini proposed 23 facts for 15 listings; we kept 14 and rejected 9 because the quote was not on the cited page. Kept facts are labeled “unverified” and never used for eligibility.
What this cannot do yet
- One campus (UC San Diego) and about 70 listings. This is a working prototype, not a full catalog.
- Our own team labeled the evaluation. It is not an independent audit, and the test set is small — so we report counts (N of M), not percentages.
- Pages change. A listing is only as current as its last read; the date is on every listing.
- Pages that need JavaScript to show text can come back empty (one of our 20 test pages did). Those are skipped, not guessed.
- Most pages never say whether international students can apply, so most listings say “not stated”. That is the gap we are measuring, not a bug we can fix by guessing.
- No real students have used it yet. The demo accounts and their backgrounds are fictional.
See the numbers on missing information across campus on Access Gap, and the words we explain on Campus words.