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

🔗 virtualsciencelabs.academy

📧 walterbanda98@gmail.com


Empowering Zimbabwe's future scientists, one experiment at a time.

Built With

Share this project:

Updates

posted an update

Project Status Update

The live deployment of Virtual Science Labs Academy is currently unavailable due to a temporary cloud billing suspension affecting the Firebase Cloud Functions backend.

Please note that no changes have been made to the submitted codebase. The repository remains exactly as it was at the submission deadline.

The issue is strictly infrastructure-related and does not impact the submitted source code or system architecture, which remain fully reviewable in the repository.

Thank you for your understanding.

Log in or sign up for Devpost to join the conversation.