Inspiration
Our inspiration came from BoilerGPT, where we wanted to use a large language model and use that API to come up with an educational resource that would help students with any other questions that they had. However, since we saw that there was already a chatbot for Purdue students, we realized this wouldn’t be an original project idea. Based on that, we decided to come up with BoilerNet, which is a platform that enables students to easily connect with professors for research or internship opportunities without going through the laborious task of sending out emails and figuring out what to write in an email to a particular professor.
What it does
Students can navigate through a list of professors and learn about their ongoing research projects. Expressing interest is straightforward; students provide their email address for professorial contact and have the option to provide a resume and additional comments (the resume is highly recommended). Once this information is provided and an interesting research opportunity is selected, BoilerNet condenses this information into a language model.
This model integrates the student's resume, comments, and the chosen professor’s research to compose a personally tailored email expressing both enthusiasm and interest in the chosen research. This isn’t a final draft, however; it’s adaptable: the student can refine this draft to align with their unique voice and style before sending it off to the professor. To ensure transparency, students receive a copy of the sent email.
How we built it
The main portion of our website is our web application, and we built it using HTML, CSS, JavaScript, and React.js. The time-crunch of around 24 hours meant that we had to split up the tasks, but that presented conflicts because we did not have the knowledge of some of the technical aspects before the hackathon. However, all of us were comfortable with using Python, so we decided to use a Python framework called Streamlit. This was the first time using the particular framework for most of our team and we ran into a lot of issues with it like the deploy feature not working as expected.
Challenges we ran into
One of the main struggles we went through was embedding our frontend in React.js to our Streamlit application in Python, as whenever we tried to embed the link to our Streamlit application, it would display an error on the frontend side of the web application. Also, we had some issues with connecting with ChatGPT. We tried out a framework called LangChain which would allow us to give our queries to ChatGPT. While we did have some success with this approach in the beginning, the textdocument import for the chain prompt was not importing properly and the context was not being interpreted correctly. This was a big problem since the main purpose of our website was that the LLM would expedite the process. Instead, we decided to use OpenAI’s API key.
Accomplishments that we're proud of
We are really proud that our entire email automation system works, where we are able to effectively use OpenAI’s model and from there generate plus send out the emails, which ensures that the solution works. We are also really happy with the fact that we were able to present the projects from the database created by the Honors College in a card-like fashion for a more visually appealing experience.
What we learned
We learned how to use the Streamlit to make fullstack websites along with using SQLite to connect databases.
What's next for BoilerNet
One good thing about Python is that there are a multitude of libraries available like selenium which is good for web scraping. Our plan was to use a web scraper to extract data from the database the Honors College compiled. After a few failed trials, we realized that it would be best if we manually copied the data to a csv because we do not have enough time to finish that in the hackathon. In the future, this is one of the first things that we plan on doing so that the app will have projects as soon as they are released.
Some other applications we see for the potential future that we could work on to make this a more viable project would be to apply Linkedin, Glassdoor, and other online applications so that we can expand this outside the network of just research opportunities at Purdue. There could even be a similar platform for other universities across the nation if you have a database of research opportunities of any university because this application would work there too. Finally, we wanted to have a time system embedded into our email, where if a professor doesn’t respond to a specific email, the application will automatically send a follow-up email so that you won’t have to reach back to the professor again.
Log in or sign up for Devpost to join the conversation.