Inspiration
In Zimbabwe, thousands of students prepare for their ZIMSEC O-Level and A-Level Chemistry examinations each year, but many face a critical challenge: limited or no access to laboratory facilities. Rural schools often lack basic equipment, reagents, and trained lab technicians. Urban schools face overcrowding, with 50+ students sharing a single lab session.
Paper 3 of the ZIMSEC Chemistry examination is a practical assessment worth 20% of the final grade. Students must demonstrate skills in qualitative analysis—identifying unknown cations and anions through chemical tests. Without hands-on practice, many students struggle, memorizing procedures they've never actually performed.
We asked ourselves: What if every Zimbabwean student could have a personal chemistry laboratory in their pocket?
What it does
Virtual Chemistry Lab is an AI-powered chemistry practical simulator designed specifically for ZIMSEC syllabi (4024 & 9189). It transforms how students learn practical chemistry through:
🧪 Interactive Experiment Simulation
Students select reagents and observe realistic chemical reactions. Add sodium hydroxide to copper sulfate? Watch the characteristic blue precipitate form. Test for carbonates with dilute acid? See the effervescence and learn the confirmatory tests.
🎬 AI-Generated Video Demonstrations
Using cutting-edge AI video generation, each experiment produces a realistic video showing the actual procedure, color changes, precipitate formation, and gas evolution. Students see what they would observe in a real laboratory.
🗣️ Multilingual AI Tutor
Our AI tutor answers questions about experiments in English, Shona, and Ndebele. A student in Masvingo can ask "Chii chinoitika kana ndikawedzera sodium hydroxide?" and receive an explanation in their mother tongue. This breaks down language barriers that often hinder science education.
📝 Comprehensive Observations
Every experiment generates detailed observations following the exact format expected in ZIMSEC examinations:
- Visual changes (color, precipitate formation)
- Chemical equations (balanced, with state symbols)
- Confirmatory tests and expected results
- Safety considerations
📊 Progress Tracking
Students can save experiments, take notes, and track their learning journey through a personalized dashboard.
How we built it
Frontend Architecture
- Angular 18 with standalone components and signals for reactive state management
- Angular Material for a polished, accessible UI
- Custom CSS with CSS variables for consistent theming
- Responsive design that works on desktop, tablet, and mobile
Backend Infrastructure
- Node.js with Apollo GraphQL server for flexible API queries
- Firebase Authentication with Google OAuth for secure, seamless login
- Firebase Firestore for real-time data storage and synchronization
AI Integration
- Google Gemini API for natural language processing and multilingual support
- Custom prompt engineering for chemistry-specific responses
- Language detection and response generation in Shona, Ndebele, and English
Video Generation
- AI-powered video synthesis for experiment demonstrations
- Optimized delivery with caching and streaming
Key Technical Decisions
// Reactive state with Angular signals
experiment = signal<StoredExperiment | null>(null);
messages = signal<ChatMessage[]>([]);
// GraphQL for flexible data fetching
const CONDUCT_EXPERIMENT = gql`
mutation ConductExperiment($input: ExperimentInput!) {
conductExperiment(input: $input) {
id
equation
observationText
videoUrl
}
}
`;
Challenges we ran into
1. Multilingual AI Responses
Getting the AI to respond naturally in Shona and Ndebele while maintaining scientific accuracy was challenging. We had to carefully craft prompts that preserve chemical terminology (which often doesn't have direct translations) while making explanations accessible.
2. Realistic Experiment Simulation
Chemistry is visual—students need to see color changes, precipitate textures, and gas evolution. We invested significant effort in making observations detailed and accurate to what students would see in a real lab.
3. Offline Considerations
Many Zimbabwean students have intermittent internet access. We implemented aggressive caching strategies and optimized our bundle size to ensure the app remains usable even with slow connections.
4. ZIMSEC Curriculum Alignment
Every feature had to align with the actual ZIMSEC syllabus. We studied past examination papers, marking schemes, and practical guidelines to ensure our simulations match examination expectations.
Accomplishments that we're proud of
✅ First-of-its-kind multilingual chemistry tutor supporting Shona and Ndebele
✅ AI video generation for chemistry experiments—students see real demonstrations
✅ Complete ZIMSEC alignment covering all Paper 3 qualitative analysis tests
✅ Accessible design that works on low-end devices and slow connections
✅ Production-ready authentication, usage tracking, and subscription system
✅ Beautiful UI that makes science feel exciting and approachable
What we learned
Technical Insights
- Angular 18's signals provide excellent performance for reactive UIs
- GraphQL's flexibility is invaluable when frontend requirements evolve rapidly
- Firebase's real-time capabilities eliminate the need for complex polling mechanisms
Educational Insights
- Students engage more deeply when they can interact in their native language
- Visual demonstrations dramatically improve concept retention
- Immediate feedback (seeing experiment results) motivates continued learning
Product Insights
- Teachers are as important as students—they need tools to track class progress
- Mobile-first design is essential for the Zimbabwean market
- Freemium models (5 free experiments) balance accessibility with sustainability
What's next for Virtual Chemistry Lab
Short-term Roadmap
- Expand experiment coverage to include titrations, organic chemistry, and electrochemistry
- Add teacher dashboard for classroom management and student progress tracking
- Implement offline mode with service workers for areas with poor connectivity
Medium-term Goals
- Integrate with schools through partnerships with ZIMSEC and Ministry of Education
- Add Biology and Physics practicals to create a complete science simulation suite
- Develop AR features so students can visualize molecules in 3D
Long-term Vision
- Expand across Africa to support WASSCE, KCSE, and other examination boards
- Create a content marketplace where teachers can share custom experiments
- Partner with universities for advanced chemistry simulations
Built With
- Angular
- TypeScript
- Node.js
- GraphQL
- Apollo
- Firebase
- Google Gemini
- Firestore
Try It Out
Empowering Zimbabwe's future scientists, one experiment at a time.
Built With
- angular.js
- apollo
- firebase
- firestore
- gemini
- graphql
- node.js
- typescript
Log in or sign up for Devpost to join the conversation.