Inspiration

At the beginning of the semester, class Facebook groups and other social media sites are flooded by requests by students to find some sort of study group for shared classes. New students, especially, find themselves transitioning from being the big fish in a small pond to being a small fish in a big pond. We should be making the most of learning from and with our classmates; Ponder was inspired by matching apps like Tinder.

What it does

Matches students with other students who are taking the same classes as them based on their study group preferences and learning style. For example, some people prefer ambient environments like coffeeshops while others like the silence of a library; or, situationally, sometimes you just need some classmates working on the same set as you sitting by you for moral support, while other times you may want to discuss and go over problems on the set.

Students are able to “swipe” yes or no on other students, based on if they seem like a good match for studying.

Students are then able to use Ponder’s chat features to set up study group time, location, and other details.

How we built it

Ponder is built on a Flask framework and utilizes its Socket-IO capabilities for the chatrooms. We use a fully-functional SQLite database. Numpy and Pandas were used for both the preliminary matching algorithm (before people choose their study groups) and group matching (after matches have been made).

Challenges we ran into

Only one of us were familiar with databases and SQLite, so we spent quite a while struggling with database design, updating, querying, etc.

Accomplishments that we’re proud of

  • Researching and asked around to ensure that this need actually existed, and what kinds of parameters exist . We learned a lot about people's struggles to do sets at MIT.
  • Implementing "swiping" on potential options
  • Matching algorithms based on preferences and putting people into study groups of 3 or 4 while minimizing left-out people based on matches
  • Functional chatrooms!
  • Something that we would actually use and appreciate! :D
  • The pun of "Ponder" / water theme (opposed to Tinder)

What we learned

  • So much about SQLite and databases...
  • Flask + Bootstrap, which we hadn't used before this

What's next for Ponder

  • This app is tailored toward tech schools where classes are focused around problem sets, and the options for user profiles reflect that. It would be cool to diversify these options for different types of settings
  • More beautiful UI: always a stretch goal :)
Share this project:

Updates