Project Info

Poof!

Devpost

Inspiration

Going on exchange should be one of the most exciting and fun experiences of a student's life. But too often, the process becomes tedious and stressful, triple-checking eligibility, verifying course equivalencies, and juggling countless open tabs. We hope to simplify this process and allow students to find all of this info in one page.

What it does

Our platform lets you search for equivalent courses and compare schools—all in one place. Simply input a course from your home school, select your desired exchange school, and instantly see relevant course matches. Plus, you can bookmark courses to compare entire schools and find the best fit for you! After you select a few courses that interest you, Poof can help you decide on a final course load, simplifying the painstakingly difficult process of ensuring that the courses are right for you.

How we built it

We decided pretty quickly that combing through dozens and dozens of pages of information was going to be pretty difficult and we decided to use Perplexity to try to simplify this process. Using Perplexity’s Sonar pro model, we were able to create a few requests that could pull relevant information such as university courses, course descriptions, and the similarity between different courses. Then using Flask, we were then able to create a few apis that could then utilize the Perplexity API calls. We also used MongoDB to store existing queries for courses, courses that the user has bookmarked, and also equivalent courses for previously queried courses. Keeping this in mind, we were able to heavily reduce the number of tokens that we used and we also were able to reduce the loading time significantly by reducing the total queries made. We then used React to build the frontend, sprinkling in features such as login, infinite comparisons, and search by course code.

Challenges we ran into

One of the earliest challenges we ran into was dealing with the Perplexity queries as oftentimes Sonar Pro would hallucinate, resulting in inaccurate information being sent back from the request. We then focused on reducing the size of the queries and making sure that the new segmented queries returned accurate and useful information. Another issue that we ran into was dealing with the increasingly long times of the Perplexity queries. At one point, one of our features had to query 16 different times to Perplexity. A single query would take 16+ seconds to finish and would take far too long to offer a good experience to the user. We then decided to start caching results that our users make, ensuring a quick way to access common queries and we would then be able to quickly return information to ensure a good user experience.

Accomplishments we're proud of

We’re proud of how seamless the user experience is and the accuracy of our results. During testing, our platform consistently delivered results that matched what we would have found through manual research. By combining thoughtful UI decisions with precise and efficient results, we’ve created a product we’d confidently use ourselves.

What we learned

We learned the importance of properly fleshing out all the features and flows before we started developing the project. While we were in the middle of designing and developing we realized that one of our flows wasn't properly thought out so we had to pivot and change some functions. Although we were aligned at the end and we reached an efficient user flow, it ultimately added more work. Additionally, we learned the importance of strong UI/UX design. A well-designed, approachable interface makes a huge difference—turning what could have been a stressful, information-heavy experience into one that feels intuitive and inviting for users.

What's next

From the very beginning, we aimed to build a product that would be applicable to our daily lives - and we hope to continue expanding and making it a diverse platform. We hope to continue to polish and add features that can allow our peers to use this during their own exchange process. We aim to add features like auto drafting an email so that students can easily send them to their advisors and a 3D map which will allow students to get an overall picture of all the available and most compatible schools for them.

Analysis

Compare with all teams

View

Metric

Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.

Technology

Found in codeClaimed only
  • CSSIn code
  • FlaskIn code
  • OpenAIIn code
  • PythonIn code
  • ReactIn code
  • Tailwind CSSIn code
  • TypeScriptIn code

7 of 7 appear in the indexed code.

AI coding agents

No AI coding agent signals were found in this repository.

Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.

Codebase size

Source size

71 KB

Source files

32

Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.

0 stars