Uniscout
A university data pipeline that keeps its sources
2026–Present
What it does
Uniscout is the data pipeline behind the Intelligo career advisor. It turns changing public university websites into a reviewable record of programmes, admission rules, tuition, scholarships, and accreditation — with the source, the quote, and the date attached to every value.
It is not "an AI that crawls the web". It is a controlled path from a moving public source to a record somebody can check.
The source problem comes before the model
A list of known university domains is not enough:
- institutions publish across several official subdomains;
- ministry records and live sites disagree;
- admission portals are often single-page applications that block ordinary crawlers;
- the useful fact frequently lives in a PDF;
- the same programme appears under Mongolian and English names;
- a correct value becomes misleading once its academic year is unknown.
So discovery, official-site verification, freshness, and change detection are first-class stages rather than cleanup around extraction.
Discovery produces candidates from seeds, .edu.mn certificate data, ministry registry entries, and subdomain probes. A five-check verifier decides whether a candidate enters the institution registry. That separation is what stops "the crawler found a page" from quietly becoming "this is an official source".
Provenance is the product
Every value carries its source URL, a supporting quote, a confidence score, a freshness stamp, and a verification status. Raw HTML and normalised Markdown are archived, so an extraction can be replayed without hitting the source again.
The canonical truth store never overwrites. A changed record archives the previous version, calculates a diff, and enters a review queue — which makes "what changed?" a question with an answer, rather than a comparison of two opaque model responses.
Extraction is validated against typed Pydantic schemas and can self-correct a bounded number of times. If a category still fails, the pipeline preserves the partial output and the validation errors instead of presenting an incomplete record as a complete one.
Eleven categories, two languages
The education model covers eleven structured categories across Mongolian and English, so a programme name, a tuition figure, or an admission rule resolves to the same entity in either language rather than to two half-populated records.
Python modules under src |
98 |
| Python test files | 74 |
| Test functions | 227 |
| Schema modules | 33 |
| Structured categories | 11 |
| Local commits | 151 |