Hey everyone! I just launched ATLAS (Advanced Thermodynamic Liquid & Aqueous Solver).
In my computational chemistry research, calculating phase diagrams and extraction limits from raw quantum data is notoriously tedious (still better than doing it experimentally, though…). I wanted to build a web-based routing engine that acts as an abstraction layer over standard quantum files, so I turned to Streamlit.
Streamlit is fantastic for heavy scientific computing, provided you handle the backend correctly. I had a traffic spike today, and the app routed dozens of matrix-heavy computations without a single memory crash.
What the app does:
It takes .orcacosmo files, crunches the thermodynamics, and generates Binary/Ternary Solid-Liquid Equilibrium (SLE) phase diagrams, logP limits, and animated 3D topological maps of molecular screening charges. Effectively the app removes the hard barriers from experimentalists and people not used to directly engaging with CLI and the QM software.
The Streamlit highlights:
-
3D Rendering & Ephemeral Storage: The app uses a C++ based backend engine (
xyzrender) to generate 3D volumetric ESP clouds. To make this work on Streamlit Community Cloud, I routed all the heavy intermediate.cubefile generation strictly throughtempfile.gettempdir()to prevent OOM crashes. -
Concurrency Locking: Because the underlying OpenBLAS matrix math is highly aggressive, the app uses a
threading.BoundedSemaphorecompute queue. If multiple users hit the solver at the same time, it strictly forces single-file execution to keep the container alive. -
Custom Intake Form: I built a stateless “Add Molecule” form using
urllib.parseand custom HTML buttons (unsafe_allow_html=True) to bypass Markdown URL truncation, allowing users to send parameterization requests directly to my email without needing a backend database. -
Zero-Latency Matplotlib: I ripped out
tight_layout()and replaced it with a pure NumPy bounding-box algorithm to auto-crop the 3D Matplotlib renders, drastically speeding up the UI response time.
Live App: https://atlas-thermo.streamlit.app
GitHub: https://github.com/vainikanpete/ATLAS
I’d love to hear what you guys think, especially if anyone else is deploying heavy C/C++ wrapped scientific engines on Community Cloud!

