As Chemistry students, we realized that higher level organic chemistry was extremely difficult to visualize mentally. As a result, for students just getting into the subject, learning was at times boring and difficult. AR is a way to make learning chemistry more fun and collaborative.
What it does
MoleculAR is an AR application that takes in the common names of almost all possible chemicals, computationally generates a 3D structure of that molecule and proceeds to render that in an AR space.
The app also allows multiple people to observe a molecule together in AR, which allows for amazing possibilities in the field of education.
How we built it
MoleculAR has several components: A backend web server written in Flask, a frontend AR app written in React and a Node app that allows for multiple people to connect and view a molecule together.
The Flask app takes input (the common name of a molecule) as a POST request from the Flask application and proceeds to generate it using blender, and serves it at a static IP address, which the React app uses to display the model in an AR space.
Challenges we ran into
Computational chemistry is a very academic discipline, and many of the tools we relied on had little easily-accessible documentation. We also went into a project about 3D modeling with no prior experience in 3D modeling, and made several passes at our model generation scripts only to find that one file format or another was not supported in some context.
Accomplishments that we're proud of
It still works though
What we learned
What's next for MoleculAR
- Dynamic session generation: an educator generates a session ID, and only their students connect using the ID
- Sockets between devices in an ID so that when one device generates a new molecule, the rest of the devices refresh accordingly
- Loading indicators
- Educators will be able to tap on a location to mark it up; other devices will see the mark
- Students can tap on a specific atom to learn more about its place within the molecule