Campus4Life: GEXP Exchange Mapper

A smarter way for SUTD CSD students to plan Term 6 exchanges.


Inspiration

At SUTD, academic planning is both structured and overwhelming.

Students must navigate:

  • Specialization track requirements
  • Term-based module availability (Fall/Spring)
  • Exchange mapping constraints
  • Prerequisites and credit limits

Yet the tools available are fragmented — spreadsheets, PDFs, word-of-mouth advice from seniors, and manual comparisons across university websites.

We observed students spending hours trying to answer simple but high-stakes questions:

  • “Will I clear my track if I go on exchange in Spring?”
  • “Which university maximizes my AI module coverage?”
  • “What modules should I prioritize this term?”

Campus4Life was inspired by this gap. We wanted to transform academic planning from a manual guessing process into a structured, intelligent decision-support system.


What it does

Campus4Life is a web application that helps SUTD students plan their academic pathway and exchange strategically.

It provides:

  • Track-based filtering (AI, Security, IoT, etc.)
  • Fall/Spring-aware recommendations
  • Must-map module enforcement
  • Viability scoring and ranking
  • No-track mode for undecided students

Instead of browsing universities and modules reactively, students receive ranked recommendations based on how well each option satisfies their academic goals.

We model viability as:

$$ \text{Score}(u) = |R \cap M_u^{(P)}| $$ Where:

  • \( R \) = required modules for a track
  • \( M_u^{(P)} \) = modules offered by university \( u \) in period \( P \)

A higher score indicates better alignment with the student’s specialization.


How we built it

We designed Campus4Life with a clean, scalable architecture.

Backend (Flask API)

  • Handles recommendation logic
  • Filters by track and exchange period
  • Enforces must-map constraints
  • Computes viability scores
  • Exposes structured JSON endpoints

Frontend (Flutter Web)

  • Interactive UI for track and period selection
  • Dynamic ranking display
  • Clean filtering interface
  • Deployable static build

CI/CD

  • Automated backend testing using pytest
  • GitHub Actions for continuous integration
  • Automatic frontend deployment to GitHub Pages

This separation of concerns ensures scalability, maintainability, and future extensibility.


Challenges we ran into

1. Data Normalization

Different universities structure module names and descriptions inconsistently.
We created standardized schemas and structured mappings to ensure reliable comparisons.

2. Combinatorial Growth

Matching universities, modules, tracks, and periods increases complexity:

$$ O(|U| \cdot |M|) $$

We optimized performance through early filtering and constraint pruning before scoring.

3. Balancing Power with Simplicity

Too many filters overwhelm users. Too few reduce usefulness.
We iterated toward a minimal yet powerful filtering model.

4. Frontend–Backend Coordination

Ensuring stable API contracts and predictable JSON structures required careful interface design.


Accomplishments that we're proud of

  • Successfully reframed exchange planning as a constraint optimization problem
  • Built a working split-stack architecture (Flask + Flutter Web)
  • Implemented a scoring-based recommendation engine
  • Designed a system that is immediately useful for SUTD students
  • Established automated testing and CI/CD deployment workflows
  • Delivered a scalable foundation rather than a one-off prototype

Most importantly, we transformed a confusing planning process into something structured and measurable.


What we learned

  • Academic planning problems are computational in nature
  • Students think in goals; systems operate on constraints
  • Clean architecture matters even in hackathon builds
  • Optimization logic is only valuable if paired with intuitive UX
  • Clear problem framing is more important than adding features

We learned that solving real student pain points requires both technical rigor and empathy.


What's next for Campus4Life

We envision expanding Campus4Life into a full academic decision-support platform.

Next steps include:

  • Supporting multi-track optimization
  • Integration with official academic APIs
  • Expansion beyond CSD to other SUTD pillars
  • AI-assisted personalized recommendations
  • Hosting a production backend for public access
  • Real-time exchange slot tracking
  • Long-term pathway simulation across multiple terms

Our long-term vision is simple:

Campus4Life becomes the default planning tool for SUTD students — empowering them to design their academic journey with clarity and confidence.

Built With

Share this project:

Updates