Project Story: RG Quiz and Reinforced Learning System
Inspiration
My inspiration for this project stemmed from a deep understanding of the educational challenges faced by many communities in Africa. I saw that while technology holds immense potential to transform learning, it is often inaccessible due to fundamental infrastructure limitations—namely, the cost and availability of internet and reliable power.
I was motivated to build a solution that didn't just assume these resources existed but was specifically designed to thrive in their absence. The idea of an "AI tutor" for every child, regardless of their location or connectivity, was the driving force behind the pre-built, offline explanation system. I wanted to create a fun and engaging learning experience that was also practical and sustainable for the target user.
What it does
The RG Quiz and Reinforced Learning System is a powerful Progressive Web App (PWA) that I developed to make education accessible, engaging, and effective for children. The project is an interactive platform that reinforces learning through quizzes. It provides dynamic feedback, a dual-explanation system (a simple explanation and a deeper, AI-like explanation), and a framework for parents to track their children's progress. By leveraging PWA technology, the application can be installed on any device and run completely offline, directly confronting the digital divide.
How I built it
I built the RG Quiz App as a single-page application using React and Vite for a fast development and build process. The core of the application is the quiz data, which I carefully structured into a JSON file (all_quiz_data.json) organized by class, term, subject, and topic to align with the Nigerian school curriculum.
To make the app work offline, I utilized the VitePWA plugin to generate a Service Worker that caches all of the application's assets. When a user first loads the app, the Service Worker downloads everything it needs, enabling full functionality without any further internet connection.
The "AI-like" explanations are pre-generated and stored as a deepExplanation field within the JSON data. When a user requests a deeper explanation, the app retrieves this pre-built Markdown text and displays it with a custom TypingEffect. I utilized React Markdown to ensure the formatted text, including bolding and lists, renders correctly to the user.
Finally, I deployed the entire frontend-only application to Netlify, which provides a fast and reliable hosting platform.
Challenges I ran into
The primary challenge was designing a solution that could deliver a quality educational experience while strictly adhering to the resource-constrained principles of the Africa Deep Tech Challenge.
The Illusion of a Live AI: The biggest hurdle was creating the feeling of a dynamic, on-demand AI tutor without a live API call. Pre-generating the content was the solution, but it required a careful balance to ensure the explanations were detailed enough to be genuinely helpful while remaining age-appropriate and relevant to the quiz questions.
Optimizing for Low-Compute Environments: I had to be mindful of performance at every step. This meant choosing efficient libraries like Vite and optimizing animations to prevent the app from lagging on low-end tablets or smartphones with minimal processing power.
Data Management and Scalability: As a prototype, the quiz data is local. The challenge was structuring this data in a way that was both easy to use in the application and scalable for future expansion. The hierarchical JSON structure I developed addresses this, but it requires a careful manual process to create the content.
Accomplishments that am proud of
I am most proud of building a working prototype that demonstrates a clear path to providing high-quality, personalized education in any environment. The offline-first architecture, powered by a PWA and a clever pre-built AI explanation system, is a significant accomplishment that directly tackles the fundamental resource-constrained challenges. I am also proud of the highly engaging user experience I was able to create using modern frontend technologies, all while maintaining a lightweight and performant application.
What I learned
Building this project was a significant learning experience that pushed me to think differently about web application design.
Offline-First Architecture: I learned how to move beyond traditional online-only applications. I mastered the implementation of a Service Worker using vite-plugin-pwa to cache all static assets, including the core quiz data and pre-built explanations. This was a critical lesson in ensuring the application's core functionality would remain available at all times.
Creative Problem-Solving for AI: I realized that "AI" doesn't always have to mean a live, expensive API call. I learned how to simulate an intelligent, personalized tutor experience by pre-generating explanations with an "AI persona" and embedding them directly into my data. This approach was not only a technical solution but a strategic one that perfectly aligned with the project's resource-constrained mission.
The Power of Frontend Technologies: I gained a deeper appreciation for modern frontend libraries and frameworks. I learned how to use React, Framer Motion, and Howler.js to create a highly engaging user experience with smooth animations and audio feedback, all while keeping the application lightweight and performant.
What's next for RG Quiz and reinforced learning system
For the future of the RG Quiz and Reinforced Learning System, I envision several key developments. The immediate next step is to expand the content, adding more questions, subjects, and curriculum levels to make the app more comprehensive. I also plan to enhance the parent dashboard functionality. While the current prototype focuses on the student's learning experience, a more robust version could include a more detailed progress tracking system for parents. This could potentially involve a backend component, but it would be designed to sync data only when a connection is available, preserving the core offline functionality. Ultimately, the goal is to make the system a complete and sustainable educational tool that can grow and adapt to the needs of its users.
Built With
- framer-motion
- github
- howler.js
- javascript
- netlify
- react
- react-bootstrap
- react-markdown
- vite
- vitepwa-(plugin)
Log in or sign up for Devpost to join the conversation.