Inspiration
Every year, thousands of students apply for the Student Exchange Programme (SEP), but they all hit the same wall: Module Mapping. Spending weeks digging through outdated PDFs and university websites to find courses that match their home curriculum is a rite of passage no one actually enjoys. We realised that a simple "Keyword Search" isn't enough because an "Intro to Programming" at one school might be "Software Construction" at another. We wanted to build a tool that understands the context of education, not just the labels.
What it does
Features
- Semantic Search: Uses Natural Language Processing (NLP) to compare module descriptions, identifying matches that keywords alone might miss.
- Smart Pairing: Uses NLP to compare similar module names across the entire database.
- Persistence: Your progress is saved automatically. Every pairing added or removed is instantly mirrored to a local /data storage folder.
- Import: Easily expand your database. Import new module lists (e.g., from a specific partner university) and they will be appended to your existing records without overwriting them.
- Interactive Planning: Select modules from side-by-side tables, generate similarity scores, and review matches before adding them to your final plan.
How we built it
- Frontend: Built with Streamlit for a responsive, data-centric user interface.
- Mapping Engine: Powered by Sentence-Transformers (specifically the all-MiniLM-L6-v2 model).
- Backend logic: Developed a custom Storage and File Management system in Python that handles complex one-to-many relationships between modules.
- Data Handling: Implemented Pandas for high-performance data manipulation and local CSV persistence.
Challenges we ran into
Path & Permission Errors: Early on, we struggled with OS-level permission errors when trying to save files to specific user directories. We solved this by pivoting to browser-native download streams.
Duplicate Logic: Managing data integrity during bulk imports (like adding a new university's entire catalog) required robust duplicate-checking logic to prevent cluttering the database.
Accomplishments that we're proud of
User-Centric Design: Transforming a complex data-matching problem into a simple three-step interactive process.
What's next for ModMatch
Global Database: Scraping and integrating official course catalogs from even more universities.
Log in or sign up for Devpost to join the conversation.