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.