Skip to main content
← All projects
Private development

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