Inspiration

Writing mathematical proofs is hard. Especially when there is a steep learning curve. We were frustrated with having to read 50 pages in a textbook just to understand and apply a single theorem in our problems. Not to mention the teachers who do not explain things at a deeper level and just throw a whole bunch of jargon at you, expecting you to understand the new proof concepts all of a sudden. And the heavy accent makes learning 10x tougher. It's annoying and demotivating when you have all of these problems. That's why we invented Prove it.

What it does

Prove it! is a smart writing interface that teaches you the necessary definitions needed to solve your proof problems. Proofs are usually presented in statements that need to be proven.

Say goodbye to those textbooks and simply paste in the statement (or problem) you are trying to prove. And Prove-it will show you all of the necessary definitions, theorems, and lemmas needed to solve that current problem.

Don’t know what any of these definitions means? Don’t worry, you have all of the meanings below the definitions + hints on how to apply the definitions, because let's face it, knowing your definitions is good, but knowing when and how to apply them is superb.

Oftentimes, when we don’t understand something, it's because there are small details that usually come at you at once. We need someone to break those details down. Introducing the Prove-it tutor, your own personalized tutor who will help you understand what the question expects you to prove and the small meanings behind the definitions.

How we built it

Prove It! is a full-stack mathematical proof writing assistant built with React/TypeScript frontend and Node.js/Express backend. It uses Slate.js editor with real-time LaTeX rendering, AI-powered tutoring via Google Gemini, and comprehensive error detection for mathematical proofs. It uses Auth0 for authentication, MongoDB for data persistence, and shadcn/ui components with Tailwind CSS for a modern, accessible user interface.

Challenges we ran into

Getting the API keys for Gemini to work. Consistently show errors and required definitions based on user input

Accomplishments that we're proud of

Developed a comprehensive project management system with auto-save functionality, conversation history, and smart definitions panel for mathematical theorems.

Integrated AI-powered tutoring with Google Gemini that provides context-aware assistance based on the current statement and proof progress.

Implemented real-time error detection that categorizes proof errors into Logic, Grammar, and Format issues with specific line references and suggestions.

I mean, we made a system that can help us learn definitions at a much quicker pace. This will definitely help us better prepare for exams too because this system literally forces students to piece together the definitions so that they can write their own proofs.

What we learned

We learned how to integrate complex AI services, like Gemini, into a real-time chat interface. We learned how to use Slate.js to support mathematical notation and latex rendering We also gained experience with modern authentication flows using Auth0.

What's next for Prove It

Refining the technology and hopefully launch it so it can help many students on their journeys to become better proof writers.

Share this project:

Updates