Inspiration

The inspiration for the project came from the theme of the hackathon itself. Aimed towards "Protecting the Youth", the idea was to build a tool that would help students in their learning process. Since exams are a major part of a student's life, the aim was to help and make this process easier with the help of AI models. With ExamGPT, students can practice their answers or check their knowledge regarding a certain topic. It can be seen as a tool for mock oral examinations which will allow students to enhance their knowledge.

What it does

ExamGPT is a powerful tool that simplifies the process of conducting oral exams. It leverages the GPT-3.5 model from OpenAI to act as an interviewer, asking questions based on a provided topic. This project combines speech recognition, text-to-speech, and PDF handling to create a seamless oral exam experience.

Features

  • Topic-Based Questions: Input a PDF document on the desired topic, and ExamGPT will generate relevant questions for the oral exam.
  • Transcription: As the AI interviewer asks questions, the transcription of the speech will be displayed on the screen.
  • Recording Responses: Easily record your responses by clicking the microphone icon. When you're done, stop recording.
  • Text-to-Speech: ExamGPT uses the speechSynthesis library to convert text into speech for a natural conversational experience.
  • Speech-to-Text: The project includes react-speech-recognition library to transcribe spoken responses.

How I Built It

I used a combination of different technologies and packages to build the ExamGPT.

Frontend:

  • The front end was implemented using React, a popular JavaScript library known for its versatility and performance.
  • Packages like React Speech Recognition and the speechSynthesis API enabled real-time speech-to-text and text-to-speech capabilities.
  • The user interface was designed with a focus on simplicity and accessibility to ensure an intuitive experience for all users.

Backend:

  • For the Backend, I used Node.js, providing a scalable and efficient server environment.
  • The pdfjs-dist library was used to handle PDF documents, allowing extraction of text for question generation.
  • The core of the product is the response that is being generated using the OpenAI GPT 3.5 model.

Challenges I ran into

There were a lot of challenges that I ran into. From extracting text from pdf to ensuring correct response from GPT mode. However, the major challenge that integrating text-to-speech and speech-to-text functionalities. Ensuring correct transcription of text was necessary for the success of the project.

Accomplishments that I am proud of

I am happy and proud that I was able to complete this project on time. My initial plan was to participate with a couple of my friends which can't happen due to some reasons. At the end, I am happy to be able to build a working AI tool that acts as an examiner and can help students going forward.

What I learned

During this project, I learned and implemented many new things that I hadn't done before. I learned to extract useful information from pdf provided by the user. Along with this, I learned to implement speech-to-text and text-to-speech functionalities for the first time. Also, working with the OpenAI GPT model was a great experience, and overall, I can say that working on this project has been great for me in terms of learning.

What's next for ExamGPT

There are a couple of things that I would like to improve in ExamGPT. Starting from the front end, I would like to further enhance the user interface and improve the design and make use of loading and animations. Along with it, I would like to provide a way for the user to download their conversation for future reference. Maybe I will look to connect it to the database to store the chats which will allow users to save their conversation.

Built With

Share this project:

Updates