Inspiration

Our senior year has been filled with multitudes of Google search tabs, guide books, campus tours, and marketing emails from colleges. Finding the perfect fit is _ really _ difficult because students are overloaded with data from their parents, peers, and counselors. So, using publicly available data, we built Collegium to help seniors similarly frustrated with admissions.

What it does

Collegium takes the frustration out of finding your perfect school. It matches each user to a college based on a quick survey assessing ability to pay for college, the student's academic interests, and desired institutional characteristics such as location and size. It then presents these results in a color-coded list that reflects the fit between the student and the institution.

How we built it

We used a Flask server coupled with a MongoDB hosted on mLab. Within Flask, we also used socket.io for server-client communication, scipy for college clustering, and numpy for data analysis. We also used Materialize.css as our front-end library to implement consistent look and feel across the different Collegium pages.

Challenges we ran into

Server-client communication was initially very difficult; we solved this issue by adding socket.io to our stack and retooling our user prompts. Data availability was extremely limited. We used US Department of Education IPEDS data to populate our database with college selectivity indicators and institutional characteristics.

Accomplishments that we're proud of

Visually clustering colleges; data pre-processing that resulted in highly accurate matches; selectivity indicators.

What we learned

Flask is frustrating, but very, very helpful in creating robust web apps that have fully-featured backends written in Python.

What's next for Collegium

We will continue to develop our app outside of Blueprint, potentially commercializing it if we are successful in honing our matching algorithm using extensive testing.

Share this project:

Updates