Purpose

This platform was created to help students, advisors, and international offices easily browse and discover academic exchange opportunities worldwide — in one place, with consistent structured information.

Many universities maintain exchange agreements scattered across department pages, PDFs, or internal databases. This hub centralises those opportunities in a filterable, searchable, mobile-friendly interface that requires no technical expertise to maintain.

The platform is designed for universities, research labs, and international affairs offices that want to publish opportunities to students without maintaining a complex web infrastructure. The entire website is static, hosted for free on GitHub Pages, and updated simply by editing a Google Sheet.

How Collaborators Update Data

All opportunity data lives in a Google Sheet. Non-technical collaborators — international coordinators, department staff, or faculty — can add, edit, or deactivate opportunities simply by editing the spreadsheet. The website automatically reflects any changes.

No code changes are required. No deployment is needed. Changes appear on the website within seconds of saving the spreadsheet.

Access the Google Sheet

Collaborators receive editor access to the shared Google Sheet. They log in with their Google account and open the sheet. Public users can view data; only authorised collaborators can edit.

Add or Edit a Row

Each row represents one exchange opportunity. Fill in the standard columns (institution, country, scholarship, deadline, etc.) following the field reference below. To add a new opportunity, simply add a new row.

Add Custom Fields (Optional)

If you need to capture information not in the standard schema — such as housing_support, visa_support, or interview_required — simply add a new column. The website will automatically detect and display these extra fields in the "Additional Information" section of each opportunity's detail view. No code changes are needed.

Deactivate an Opportunity

To hide an opportunity without deleting it, set the active column to FALSE. The row remains in the sheet for record-keeping but will not appear on the website.

Save and Done

Google Sheets saves automatically. The website reads data on each page load, so visitors will see updated information immediately. No publishing, no deployment.

Google Sheets Permission Model: The sheet must be set to Anyone with the link can view (read-only for the public) so the website can fetch the CSV export. Collaborators who need to edit the data should be given explicit Editor access via the sharing settings — they must be logged into their Google account to make changes.

Connecting Your Google Sheet

The website is configured to fetch data from a single URL defined in app.js. To connect your own Google Sheet, a site administrator edits one line of code.

In app.js, find the configuration block at the top of the file and replace the CSV_URL value with the export URL of your sheet:

Format:
https://docs.google.com/spreadsheets/d/YOUR_SHEET_ID/export?format=csv&sheet=opportunities

Replace YOUR_SHEET_ID with the long alphanumeric ID from your sheet's URL, and opportunities with the exact name of the sheet tab.

Once updated, push the change to GitHub. GitHub Pages will deploy the updated site automatically within a few minutes.

Standard Field Reference

The following columns are recognised by the website. Column header names in the Google Sheet must match exactly (lowercase, underscores for spaces). Any extra columns are automatically detected and displayed as "Additional Information."

Column Header Description Format / Example Required?
institution Full name of the university or institution University of Toronto Yes
country Country where the institution is located Canada Yes
city City of the campus Toronto Yes
continent Continent (used for filtering) Americas Yes
level Academic levels accepted. Use semicolons to list multiple. Undergraduate;Graduate Yes
eligible_programs Eligible programs or faculties. "All programs" if unrestricted. Engineering;Natural Sciences Recommended
scholarship Scholarship availability Yes / Partial / No Yes
scholarship_details Full description of scholarship coverage Full tuition + CAD 1500/month Recommended
duration Duration of the exchange 1 semester / 1 academic year Recommended
language Language(s) of instruction. Semicolons for multiple. English;French Yes
requirements Admission requirements (GPA, documents, etc.) Minimum GPA 3.0; 2 reference letters Recommended
english_test English proficiency test requirement IELTS 6.5 or TOEFL 90 Recommended
deadline Application deadline in ISO format 2025-03-15 Yes
deadline_status Current status of the deadline Open / Closing Soon / Closed Yes
official_url Link to the official exchange program page https://www.university.edu/exchange Yes
contact_email Contact email for the international office exchange@university.edu Recommended
notes Free-text notes for students Apply through your home institution's international office. Optional
active Whether this opportunity is displayed TRUE / FALSE Yes

Dynamic / Extra Columns: Any column you add beyond the standard fields above will automatically appear in the "Additional Information" section of the detail view. Examples: housing_support, visa_support, application_fee, interview_required, lab_rotation. No code changes are required — just add the column.

Disclaimer

The information on this platform is provided for guidance only. Exchange programs may change their terms, deadlines, scholarship values, or eligibility requirements at any time. Collaborators update this data on a best-effort basis.

⚠ Always verify information directly on official university or program websites before making any application decisions. This platform does not guarantee the accuracy, completeness, or timeliness of any listed opportunity. The maintainers accept no responsibility for decisions made based on information published here.

If you notice incorrect or outdated information, please contact the site administrator or your institution's international affairs office so the data can be corrected.

Technical Architecture

This website is intentionally simple and cost-free. It is built entirely with static HTML, CSS, and JavaScript — no server, no database, no backend, no paid services.

Data is read directly from a public Google Sheets CSV export URL using PapaParse, a browser-side CSV parsing library. All filtering, searching, and rendering happens in the browser. The only moving part is the Google Sheet.

The site is hosted on GitHub Pages (100% free, served via CDN, custom domains supported). Source code is available on GitHub.