An interactive web application built with Python and Streamlit that functions as a quick-lookup digital periodic table. Users can instantly retrieve atomic properties and interesting facts about various chemical elements through a clean and responsive interface.
The Element Information Finder is designed as an educational chemistry tool that simplifies access to important atomic data. The application enables users to search for elements using standard chemical symbols and instantly view their atomic details.
This project was developed as part of the Experiential Learning Project for the Computational Chemistry module in the B.Tech Computer Science Engineering program at Jain University, Kochi.
This project demonstrates the practical implementation of several concepts from chemistry and computer science:
-
Atomic Theory
Organizing and displaying core atomic properties such as atomic number and atomic mass. -
Periodic Trends
Providing a foundation for understanding element classification and behavior. -
Data Structures
Using Python dictionaries for efficient storage and retrieval of chemical data. -
Human-Computer Interaction (HCI)
Designing an intuitive and interactive educational interface.
-
🔍 Instant Element Lookup
Search elements using chemical symbols likeH,He,O,Fe, etc. -
⚛️ Real-Time Atomic Data
Displays:- Atomic Number
- Atomic Mass
- Element Name
-
📚 Educational Fun Facts
Includes curated facts about each element to enhance experiential learning. -
🎨 Interactive User Interface
Clean and responsive dashboard powered by Streamlit. -
⚡ Fast Data Retrieval
Efficient backend logic using Python dictionaries.
| Technology | Purpose |
|---|---|
| Python 3.7+ | Core Programming Language |
| Streamlit | Web Application Framework |
| Git & GitHub | Version Control |
| Streamlit Community Cloud | Deployment |
Install the required dependency before running the project locally:
pip install streamlitOr install all dependencies using:
pip install -r requirements.txtgit clone https://github.com/nichroot/chemistry-mini-projects.gitcd chemistry-mini-projectsstreamlit run app.pyThe application will be available at:
http://localhost:8501chemistry-mini-projects/
│
├── app.py # Main application logic and element database
├── requirements.txt # Project dependencies
├── .gitignore # Git ignore rules
└── README.md # Project documentationThe application uses a Python dictionary to store information about chemical elements.
When a user enters a valid chemical symbol:
- The input is matched against the internal element database.
- The corresponding atomic data is retrieved.
- The interface dynamically displays:
- Element Name
- Atomic Number
- Atomic Mass
- Fun Fact
This approach ensures fast and efficient lookup performance.
This project can be deployed easily using:
- Streamlit Community Cloud
- GitHub Pages (for documentation)
- Render
- Railway
👉 Streamlit Community Cloud
Official Website: https://streamlit.io/cloud
Potential enhancements for future versions:
- 🌐 Full periodic table with all 118 elements
- ⚡ Electron configuration display
- 📈 Periodic trend visualizations
- 🧪 Molecular weight calculator
- 🔬 Oxidation state information
- 📊 Interactive chemistry quizzes
- 🌙 Dark mode support
Contributions, suggestions, and improvements are welcome.
To contribute:
- Fork the repository
- Create a new branch
- Commit your changes
- Open a Pull Request
This project is developed for educational purposes under the MIT License.
- Streamlit Documentation
- IUPAC Atomic Data Standards
- Computational Chemistry Course Materials
This project was created as part of an academic experiential learning initiative to combine chemistry concepts with software development and interactive computing.