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.

Share this project:

Updates