- 118 Elements with detailed information
- Click any element to view comprehensive data
- Smooth 3D atom visualization with electron shells
- Category-based color coding (Alkali Metal, Noble Gas, etc.)
- Monatomic & Polyatomic Ions database
- Custom animations for each ion's properties
- Visual hints for flame tests, solubility, and more
- Real-time charge calculations
| Tool | Description | Grade Level |
|---|---|---|
| Equation Balancer | Balance chemical equations with step-by-step solutions | 9-12 |
| Molar Mass Calculator | Calculate molar mass with element breakdown | 10-11 |
| Empirical & Molecular Formula | Derive formulas from mass data | 10-11 |
| Solubility Table | Quick reference for ionic compounds | 9-12 |
- Mobile-first landing refreshed with softer background motion text stream.
- Mobile landing no longer triggers desktop onboarding/welcome flow.
- Element modal export/download button was removed.
- Custom mobile assets were organized into the
images/folder:images/mobile-bg-1.pngimages/mobile-atom-2.png
- Generate balanced equation practice problems
- Multiple reaction types (Synthesis, Decomposition, Combustion, etc.)
- Adjustable difficulty levels
- Print-ready PDF export
- Arrow Keys (β β) - Navigate between info slides
- Space Bar - Next slide
- Fully accessible modal navigation
# Clone the repository
git clone https://github.com/YOUR_USERNAME/zperiod.git
# Navigate to project directory
cd zperiod
# Install dependencies
npm install
# Start dev server (with hot reload)
npm run dev# Lint + syntax check + production build
npm run check# Build static files to dist/
npm run build
# Preview production build locally
npm run previewzperiod/
βββ .github/workflows/ci.yml # CI pipeline
βββ package.json # Vite scripts and dependencies
βββ index.html # Main HTML file
βββ script.js # Main JavaScript logic
βββ three.min.js # Legacy local Three.js copy
βββ logo.svg # Project logo
βββ public/ # Static files copied directly by Vite
βββ css/
β βββ base.css # Design tokens, layout, navigation
β βββ grid.css # Periodic table grid
β βββ modal.css # Element detail modals
β βββ tools.css # Chemistry tools styles
β βββ ions.css # Ion engine styles
β βββ ion-animations.css # Ion-specific animations
β βββ mobile-landing.css # Mobile landing page
β βββ worksheet-styles.css
βββ js/
β βββ ion-animations.js # Ion animation logic
β βββ worksheet-generator.js
β βββ data/
β β βββ elementsData.js # Element database
β β βββ ionsData.js # Ion database
β βββ modules/
β βββ chemistryTools.js
β βββ ionsController.js
β βββ threeRenderer.js
β βββ uiController.js
βββ images/ # Preview screenshots
βββ README.md
Zperiod follows modern design principles:
- Minimal & Clean - Inspired by Apple's design language
- Glassmorphism - Subtle frosted glass effects
- Responsive - Works on all screen sizes
- Dark/Light Friendly - Neutral color palette
- Micro-animations - Smooth, delightful interactions
- Grade 9-12 Chemistry Students
- AP Chemistry / IB Chemistry
- Teachers looking for classroom tools
- Anyone interested in chemistry visualization
Click to expand screenshots
The main interactive periodic table with category legends
Comprehensive element information with 3D atom model
Subtle multilingual background stream style used on the mobile-first landing experience
Custom Atom Models card visual used in the mobile landing feature preview
Balance chemical equations with real-time scale visualization
Generate print-ready balanced equation worksheets
Β© 2026 Philip. All rights reserved.
This project is created for educational purposes. Unauthorized copying, modification, or redistribution without explicit permission is prohibited.
- Three.js - 3D graphics library
- Google Fonts (Inter) - Typography
- The Chemistry Community - For inspiration