Free, open-source master's discovery on a world map, with official sources and a browser-local application workspace.
See the codeMaster’s programmes, mapped.
Open GradAtlas ↗ · Report a data correction · Suggest an improvement
GradAtlas is a free, open-source master's discovery and application workspace, licensed under MIT. It brings official programme information, an interactive world map, comparisons and preparation tools into one calm interface.
The current programme catalogue contains 1,489 degree and specialisation records across 88 countries/regions and 17 subject groups: 358 records with reviewed programme-page sources, plus 1,131 registered Dutch degree identities imported from the official DUO RIO feed. Admissions coverage remains partial. A registry identity is not an individually reviewed admission route or currently available intake; none of these counts is a university ranking or an exhaustive world inventory.
A separate, licensed institution directory indexes 30,174 active education-type ROR records across 223 countries/territories. It supports broader discovery without claiming that all indexed institutions offer a verified master’s programme. Identity and approximate GeoNames locality information are distinct from programme and admissions evidence.
Master's research is scattered across programme pages, regulations, application portals and faculty websites. Students repeatedly rebuild their own spreadsheets and risk treating an old deadline, a foreign grade scale or an institution's existence as proof of eligibility. GradAtlas brings discovery and preparation together while leaving the admission decision with the university.
Start on a map, narrow by subject and country, compare a small shortlist, then follow the official programme's own process. Keep evidence next to each fact; show unknown information rather than guessing. Preserve applicant categories and original grading systems. Profiles, notes and editable enquiries stay in the student's browser, and the core service remains free.
Institution identity, programme identity and reviewed admission criteria are different levels of evidence. GradAtlas is a research aid: always double-check current information, links and instructions before applying. Neither a source link nor a passing software test guarantees unchanged rules.
The production application uses semantic HTML, CSS and native JavaScript modules. MapLibre GL JS renders a local Natural Earth map with native geographic clusters; ExcelJS writes comparison workbooks locally. Node.js builds and validates the static site. Node's test runner covers business rules and data integrity; Playwright checks browser flows in GitHub Actions. A checksum-pinned Python importer prepares the ROR institution directory. No application database, paid map API key or applicant account is required.
Created and maintained by @7aslann7. The GradAtlas website and official source repository, 7aslann7/gradatlas, are public. Data corrections, bug reports and proposals can be submitted through GitHub Issues.
.xlsx export and linked source sheet.Requires Node.js 20 or later. Python 3 is needed for the data importer reproducibility test. MapLibre GL JS 6.14.0 and ExcelJS 4.4.0 are vendored locally; the application needs no runtime package installation. The test suite uses a pinned development dependency.
npm run dev
Open the printed local address, normally http://localhost:4173. To run on another port:
PORT=4174 npm run dev
npm ci
npm run check
npm test
npm run build
npm run preview
The production build is a static dist/ directory. It can be hosted by any static host that serves JavaScript modules and JSON. scripts/serve.mjs is a loopback-only development server, not a production server.
The default route and #explore open directly on the map. The legacy #welcome route also opens the map. Shortlist and comparison open right-hand drawers while the map remains usable. Studio and methodology keep their broader workspace layout.
src/
index.html Accessible application shell
styles.css Responsive design and motion preferences
app.js Navigation, views and browser workspace
core.js Filtering, requirement review, validation and export logic
map.js Geographic rendering, animated camera and interaction
map-input.js Trackpad/pinch routing and Safari gesture math
studio.js Preparation, enquiry and official-guidance templates
evidence.js Field provenance, missing information and coverage
institutions.js Registry discovery, filtering and evidence limits
comparison.js Shared comparison rows and local Excel exports
workspace-export.js Readable local workspace Excel exports
catalogue.js Evidence scopes, labelled routes and attributed exports
map-geometry.js Ocean surface, viewport limits and circular longitude geometry
experience.js Minimal map-interface templates
atlas.css Map workspace, panels and restrained transitions
vendor/maplibre/ Locally served MapLibre renderer, worker and licence
vendor/exceljs/ On-demand Excel writer and MIT licence
data/programs.json Programme-page and labelled registry catalogue
data/programme-registry-manifest.json DUO source, licence and checksums
data/institutions.json Pinned ROR identity/locality index
data/institution-manifest.json Source, licence and import checksums
assets/countries.geojson Simplified Natural Earth country boundaries
scripts/ Build, development server and data validation
tests/ Requirement, date, search and export regression tests
docs/ Product, architecture and data policy
Every catalogue record has official provenance and a source-review or registry-snapshot date. Unknown fees, admissions criteria and dates are visibly unknown. Recurring annual dates are shown as guidance rather than converted into an assumed application cycle. Records older than 90 days need rechecking. Deadline reminders are all-day reminders, not institutional cutoff times.
The workspace is stored in this browser's local storage. It does not sync across devices or origins. Export a backup before changing devices or clearing browser data. Enquiry edits remain in memory until the user saves a local copy or downloads it. Saved drafts are included in private workspace backups; no application server receives profile fields, notes or drafts. A shared browser profile on the same origin uses the same local workspace, irrespective of hosting login. The official GitHub Pages project uses Cloudflare Web Analytics for aggregate visitor and page-load performance measurement; no profile answers, searches, notes or drafts are sent as custom events, and automatic workspace route measurement is disabled. Local previews and forks are excluded. The original Sites prototype redirects to the official website. The application includes no login, paid features or bulk mailing. Google Fonts may be requested for typography; map, renderer, worker and catalogue assets are served locally. WebGL is required for the map; the programme list remains available when it cannot initialise.
The website can help organise research. The university's official process determines eligibility and admission. A programme-specific language exemption, course equivalency or exceptional admission route may change how a recorded threshold applies.
See workspace privacy, catalogue coverage, data reuse and publication, catalogue pipeline, ownership and launch plan, the roadmap, architecture, data policy and contribution guide.
The website and GitHub repository are public. The included CI workflow validates catalogue records, runs unit tests, builds the site and executes desktop Chromium, desktop WebKit and mobile Chromium end-to-end tests. A successful push to main then publishes dist/ to GitHub Pages; pull requests cannot deploy. The official website is https://7aslann7.github.io/gradatlas/. All runtime asset paths support this project subdirectory. See testing and release verification and the launch copy and outreach plan. Repository visibility and hosting audience are separate settings. Remove account-specific hosting configuration in .openai/hosting.json when forking for an independent host; replace it with your own Site identity if using Sites. The original Sites preview remains a separate hosting origin.
Project code is licensed under MIT. MapLibre retains BSD-3-Clause and ExcelJS retains MIT. ROR metadata and GeoNames locality data retain their separate CC0 and attribution terms; see third-party notices. Original university content and referenced pages retain their own ownership and terms. Do not contribute copied university pages, personal applicant records or unpublished contact details.
Free, open-source master's discovery on a world map, with official sources and a browser-local application workspace.
See the codeMaster’s programmes, mapped.
Open GradAtlas ↗ · Report a data correction · Suggest an improvement
GradAtlas is a free, open-source master's discovery and application workspace, licensed under MIT. It brings official programme information, an interactive world map, comparisons and preparation tools into one calm interface.
The current programme catalogue contains 1,489 degree and specialisation records across 88 countries/regions and 17 subject groups: 358 records with reviewed programme-page sources, plus 1,131 registered Dutch degree identities imported from the official DUO RIO feed. Admissions coverage remains partial. A registry identity is not an individually reviewed admission route or currently available intake; none of these counts is a university ranking or an exhaustive world inventory.
A separate, licensed institution directory indexes 30,174 active education-type ROR records across 223 countries/territories. It supports broader discovery without claiming that all indexed institutions offer a verified master’s programme. Identity and approximate GeoNames locality information are distinct from programme and admissions evidence.
Master's research is scattered across programme pages, regulations, application portals and faculty websites. Students repeatedly rebuild their own spreadsheets and risk treating an old deadline, a foreign grade scale or an institution's existence as proof of eligibility. GradAtlas brings discovery and preparation together while leaving the admission decision with the university.
Start on a map, narrow by subject and country, compare a small shortlist, then follow the official programme's own process. Keep evidence next to each fact; show unknown information rather than guessing. Preserve applicant categories and original grading systems. Profiles, notes and editable enquiries stay in the student's browser, and the core service remains free.
Institution identity, programme identity and reviewed admission criteria are different levels of evidence. GradAtlas is a research aid: always double-check current information, links and instructions before applying. Neither a source link nor a passing software test guarantees unchanged rules.
The production application uses semantic HTML, CSS and native JavaScript modules. MapLibre GL JS renders a local Natural Earth map with native geographic clusters; ExcelJS writes comparison workbooks locally. Node.js builds and validates the static site. Node's test runner covers business rules and data integrity; Playwright checks browser flows in GitHub Actions. A checksum-pinned Python importer prepares the ROR institution directory. No application database, paid map API key or applicant account is required.
Created and maintained by @7aslann7. The GradAtlas website and official source repository, 7aslann7/gradatlas, are public. Data corrections, bug reports and proposals can be submitted through GitHub Issues.
.xlsx export and linked source sheet.Requires Node.js 20 or later. Python 3 is needed for the data importer reproducibility test. MapLibre GL JS 6.14.0 and ExcelJS 4.4.0 are vendored locally; the application needs no runtime package installation. The test suite uses a pinned development dependency.
npm run dev
Open the printed local address, normally http://localhost:4173. To run on another port:
PORT=4174 npm run dev
npm ci
npm run check
npm test
npm run build
npm run preview
The production build is a static dist/ directory. It can be hosted by any static host that serves JavaScript modules and JSON. scripts/serve.mjs is a loopback-only development server, not a production server.
The default route and #explore open directly on the map. The legacy #welcome route also opens the map. Shortlist and comparison open right-hand drawers while the map remains usable. Studio and methodology keep their broader workspace layout.
src/
index.html Accessible application shell
styles.css Responsive design and motion preferences
app.js Navigation, views and browser workspace
core.js Filtering, requirement review, validation and export logic
map.js Geographic rendering, animated camera and interaction
map-input.js Trackpad/pinch routing and Safari gesture math
studio.js Preparation, enquiry and official-guidance templates
evidence.js Field provenance, missing information and coverage
institutions.js Registry discovery, filtering and evidence limits
comparison.js Shared comparison rows and local Excel exports
workspace-export.js Readable local workspace Excel exports
catalogue.js Evidence scopes, labelled routes and attributed exports
map-geometry.js Ocean surface, viewport limits and circular longitude geometry
experience.js Minimal map-interface templates
atlas.css Map workspace, panels and restrained transitions
vendor/maplibre/ Locally served MapLibre renderer, worker and licence
vendor/exceljs/ On-demand Excel writer and MIT licence
data/programs.json Programme-page and labelled registry catalogue
data/programme-registry-manifest.json DUO source, licence and checksums
data/institutions.json Pinned ROR identity/locality index
data/institution-manifest.json Source, licence and import checksums
assets/countries.geojson Simplified Natural Earth country boundaries
scripts/ Build, development server and data validation
tests/ Requirement, date, search and export regression tests
docs/ Product, architecture and data policy
Every catalogue record has official provenance and a source-review or registry-snapshot date. Unknown fees, admissions criteria and dates are visibly unknown. Recurring annual dates are shown as guidance rather than converted into an assumed application cycle. Records older than 90 days need rechecking. Deadline reminders are all-day reminders, not institutional cutoff times.
The workspace is stored in this browser's local storage. It does not sync across devices or origins. Export a backup before changing devices or clearing browser data. Enquiry edits remain in memory until the user saves a local copy or downloads it. Saved drafts are included in private workspace backups; no application server receives profile fields, notes or drafts. A shared browser profile on the same origin uses the same local workspace, irrespective of hosting login. The official GitHub Pages project uses Cloudflare Web Analytics for aggregate visitor and page-load performance measurement; no profile answers, searches, notes or drafts are sent as custom events, and automatic workspace route measurement is disabled. Local previews and forks are excluded. The original Sites prototype redirects to the official website. The application includes no login, paid features or bulk mailing. Google Fonts may be requested for typography; map, renderer, worker and catalogue assets are served locally. WebGL is required for the map; the programme list remains available when it cannot initialise.
The website can help organise research. The university's official process determines eligibility and admission. A programme-specific language exemption, course equivalency or exceptional admission route may change how a recorded threshold applies.
See workspace privacy, catalogue coverage, data reuse and publication, catalogue pipeline, ownership and launch plan, the roadmap, architecture, data policy and contribution guide.
The website and GitHub repository are public. The included CI workflow validates catalogue records, runs unit tests, builds the site and executes desktop Chromium, desktop WebKit and mobile Chromium end-to-end tests. A successful push to main then publishes dist/ to GitHub Pages; pull requests cannot deploy. The official website is https://7aslann7.github.io/gradatlas/. All runtime asset paths support this project subdirectory. See testing and release verification and the launch copy and outreach plan. Repository visibility and hosting audience are separate settings. Remove account-specific hosting configuration in .openai/hosting.json when forking for an independent host; replace it with your own Site identity if using Sites. The original Sites preview remains a separate hosting origin.
Project code is licensed under MIT. MapLibre retains BSD-3-Clause and ExcelJS retains MIT. ROR metadata and GeoNames locality data retain their separate CC0 and attribution terms; see third-party notices. Original university content and referenced pages retain their own ownership and terms. Do not contribute copied university pages, personal applicant records or unpublished contact details.