Inspiration
We found the lack of sample papers for university finals and midterms to be an issue when it comes to studying. We wondered if there would be a way for us to generate endless exam sample papers with just one click.
What it does
Altair makes use of Google Gemini to scan exam papers, identify questions, and remix them into new yet similar questions.
How we built it
Altair is built on a python backend that makes use of PyQT's web engine to display and render a three.js web interface. One particular goal for Altair was for it to be able to easily support advanced math equations hence, we decided to encode and render our generated papers using Latex. We made use of Google Gemini's advanced OCR and reasoning to accomplish both document scanning and remixing.
Challenges we ran into
Despite spending quite a bit of time prompt engineering, we face issues and inconsistencies within Gemini's latex output. This was a huge issue as the Latex syntax would often cause issues when all the questions were assembled into a final Latex document.
We also faced some issues with rate limits and had to throttle our multi threaded Gemini prompting.
Accomplishments that we're proud of
We are proud of our multi threaded pipeline for scanning and generating new questions. Altair remixes each question with an individual API call in order to preserve context, increase accuracy, and decrease chances of hallucinations. All of which it can do simultaneously!
What we learned
We learned a lot about Object Character Recognition, prompt engineering, using the Gemini API and also rendering Latex documents as PDFs locally.
What's next for Altair
We plan to further improve Altair's performance on large documents, add support for automated answer keys with step-by-step solutions, and make the user interface more approachable.
Log in or sign up for Devpost to join the conversation.