Inspiration
As we are getting with the rise in AI, it is no doubt that students are using AI tools such as Chat-GPT, Copliot, or similar to do their work for them (which is questionable), but at the very least, can be potentially serve as a tutor for them. The problem with that is that using the LLM chatbot model isn't enough. It is ambiguous and most of the time, it will yield the wrong answer. This is because the LLM chatbots such as Chat-GPT or Copliot (can be applied to just any chatbot) are not trained to be specialized. This is especially when you have to study for very difficult courses such as Organic Chemistry in which not only the class is very conceptual, but also requires one having good visualization skills and bind it with the logic on concepts learned from general chemistry. Those LLMs that we are using today are ``digital humans'' that are generalists, where they know everything but master of none. Those chatbots are not specialized and equipped enough commands and other training methods to give out exclusively chemistry-related answers to help and tutor students. Also these chatbots are not equipped or at least ill-equipped with visualizations that are helpful for students and people will have to rely on manual visualizations. If they are stuck on a specific concept in organic chemistry, going to a manual visualization would not help because the student will still not know what is going on, therefore there should be something that combines tutoring and visualization to help people explain organic chemistry (specifically on reactions, which is the topic that a lot of students in organic chemistry courses struggle with).
This is why I created the Anti O-Reaper AI, which is a tool aid specifically for students that are taking a class in organic chemistry. The name comes from the "Grim Reaper", which is in that case, Organic Chem is the Grim Reaper to a lot of STEM majors. The O represents the organic.
What it does
The project will give an option to select predictive mode or tutoring mode. Predictive mode will enable the user to input a substrate (the primary original product) (an image can also be an option only for the substrate), additional reactants and solvents. Under solvents you can also put factors like UV-exposure or heat or anything similar to the desired reaction that you are studying.
How we built it
The program have 3 separate classes created: the mechanism step class, the image to SMILES string (simplified molecular input linear entry system style string), and the reaction result class. All of those classes binds in with the factors that the chatbot is commanded to do when performing a prediction of the product based on the inputs that the user gives, whether it is tutoring mode or instant prediction mode. There are a total of 16 considerations and commands that is imposed on the chatbot to execute the program and act like a tutor.
Not only that but also we incorporate more commands to the Gemini LLM that is embedded with the program (model is 2.5-flash-lite), such as commanding the chatbot to only take information from reputable sources, which will cut a lot of the issues with false information that may be given or hallucinations. Commands for tutoring are also given, which will enable the chatbot to not give the answer immediately if the user chooses the tutoring guide option, but rather give you a series of questions that will lead you to the answer according to the input that you give on the reactants and other starting products and conditions.
Both options will also give you the option to upload an image of the substrate (or the main starting material), and both ask you for reactants (additional reactants other than the starting material), and solvents (which are secondary reactants, catalysts, UV-light, heat, etc.) The program will also give you the steps and the 3D visualization with the slider, everything that is made by RDkit and py3Dmol, which are both libraries that enables the 3D visualization of molecules and their changes (including intermediate steps).
Challenges we ran into
Various syntax and formatting issues, used Codex to assist on those issues
The Gemini model used. Originally used Gemini 2.5 Flash, but later changed to the Lite version since I exceeded the requests per day.
Tried to switch to FastAPI - redundancy
Electronic structure implementation, which it did not work because it will overcomplicate the process
Video visualization - this was troubling since it is uncertain due to some SMILES configurations not yielding 3D structures
Accomplishments that we're proud of
First time implementing a chatbot on an application to Chemistry (as someone who works in neural networks a lot)
Built an app that is multifunctional (both option of tutoring and instant prediction even though tutoring also functions that same as it gives you the predicted material but the purpose of the tutoring mode is to enhance student's understanding of organic chemistry concepts that could be used on quizzes and exams.
What we learned
- API integration, API keys, generative AI embedding, and manipulation of commands to restrict or unrestrict of what the chatbot can do in the program.
What's next for Anti O-Reaper AI
Make a subscription system in which users pay money to access the software
More specialized commands
Force structure visualization even if the SMILES strings failed rendering the 3D structure
Add arrows to the mechanism visualization, also make the visualization sliders a lot more smoother and 'video-like'
Add an option to include photos with all 3 components without needing to manually input reactants and solvents despite having a picture of a substrate. The reason why only the substrate gets the picture is to test out the image to SMILES string functionality.
Details can be viewed in the manual.pdf file in the git repo
Log in or sign up for Devpost to join the conversation.