Inspiration
O-Level examinations are supposed to be a credible way of measuring what students know and can do. However, the high rate of examination malpractice is increasingly undermining that credibility.
We wanted to understand the problem from the student's perspective rather than assuming that every student who cheats simply wants an unfair advantage.
During the development of Naza, we conducted a survey with O-Level students and found something important: many students genuinely do not want to cheat. They want to be prepared. But the cost of failure is becoming increasingly serious.
As the cost of living rises, the financial burden associated with education and examinations also becomes harder for families to absorb. Failing an important examination can mean paying examination fees again, delaying further education, losing opportunities, and putting additional financial pressure on students and their families.
This creates a difficult situation. Students know they need to practice before an important examination, but many do not have access to a practice environment that is affordable, engaging, personalized, and easy to use.
That is where Naza comes in.
Naza is designed to give students a place to practice safely before the real examination. Instead of waiting until examination day to discover what they do not understand, students can learn, practice, make mistakes, receive explanations, track their progress, and try again.
Our goal is not to help students cheat. It is to make them prepared enough that they do not feel they need to.
What it does
Naza is an offline-first AI learning and examination preparation platform for O-Level students.
It combines AI tutoring with structured learning, adaptive practice, mock examinations, progress tracking, personalization, and gamification.
Students can:
- Ask Naza questions and receive curriculum-grounded explanations.
- Learn through personalized mini-courses that break difficult subjects into manageable lessons.
- Practice repeatedly in a low-pressure environment before sitting for the real examination.
- Take mock examinations with realistic CBT-style exam conditions.
- Track their progress and identify topics where they are struggling.
- Review misconceptions instead of simply seeing whether an answer was right or wrong.
- Receive recommendations about what they should study next.
- Learn in English or Hausa, making the experience more accessible to students who are more comfortable with local-language support.
Naza also remembers the student's learning journey through a local learning profile containing information such as mastery, misconceptions, goals, completed lessons, preferences, and recommended next lessons.
The practice experience is especially important. Naza turns preparation from something students may avoid into something they can interact with regularly, with feedback, progression, personalization, and gamification built into the experience.
How we built it
We built Naza as an offline-first desktop application around a locally running language model.
The AI tutor uses retrieval-augmented generation (RAG) to ground responses in educational resources rather than relying entirely on the model's general knowledge. We expanded a curriculum corpus containing textbooks, syllabi, educational PDFs, past-question materials, and reference resources, then built an ingestion pipeline to clean, chunk, embed, and index the content.
The retrieval system uses FAISS with Nigeria-aware embeddings from KEmbed-naija-v3. When a student asks a curriculum-related question, Naza retrieves relevant material, evaluates retrieval confidence, builds a grounded context, and passes it to a local Gemma model running through llama.cpp.
We also built safeguards against unsupported answers. If the retrieved educational context is not strong enough, Naza can refuse to answer rather than confidently inventing information.
Beyond RAG, we fine-tuned the model for Hausa and Nigerian O-Level curriculum/syllabus understanding. This allows the system to adapt more deeply to the linguistic and educational context we are targeting rather than relying only on prompting and retrieval.
We then built a learning system around the model. A persistent local learning profile tracks:
- Topic mastery
- Misconceptions
- Completed lessons
- Learning goals
- Preferences
- Recommended next lessons
- Learning history
This allows Naza to behave more like a tutor that remembers a student's progress rather than a chatbot that starts from zero every time.
We also built a unified practice and examination system using past questions, curated questions, and questions derived from the educational corpus. Students can move through a complete learning loop:
Learn → Practice → Measure → Identify weaknesses → Learn again.
The application itself is built with React, TypeScript, Vite, Python, and FastAPI, with local assets, local inference, local retrieval, and a desktop launcher. We designed the product around Naza, our friendly eagle tutor, to make the experience feel approachable rather than like a traditional examination portal.
The system is designed to operate locally instead of depending on a cloud AI API. This makes it more suitable for environments where internet access, bandwidth, hardware resources, electricity, or the cost of cloud AI services can become barriers.
Challenges we ran into
One of our biggest challenges was building a useful AI tutor without relying on the cloud infrastructure that many modern AI applications assume.
Running a capable language model locally requires careful trade-offs between model quality, memory usage, inference speed, and hardware requirements. We had to investigate model formats, quantization, memory usage, CPU inference, startup time, and deployment to make the system practical.
Another major challenge was trustworthy educational content.
A general-purpose LLM can produce an answer that sounds convincing while still being incorrect or outside the student's curriculum. We therefore invested heavily in building and expanding our educational corpus, extracting content from PDFs, indexing the material, improving retrieval, and evaluating retrieval quality.
We also had to solve the challenge of making exam preparation engaging. Traditional practice systems can feel repetitive and intimidating. We wanted Naza to make practice feel like part of a learning journey, with progress, feedback, personalization, streaks, scoring, and gamification.
Another challenge was building personalization without sending sensitive learning information to a cloud service. We designed the learning profile to remain local, allowing Naza to remember mastery, misconceptions, goals, and progress without requiring cloud synchronization.
Finally, localization presented a challenge of its own. Supporting Hausa is not simply a matter of translating interface buttons. Educational explanations need to remain understandable and useful when generated in a local language, especially for technical subjects. This pushed us to treat Hausa as part of the learning system itself, including model adaptation, prompts, UI localization, and educational generation.
Accomplishments that we're proud of
We are proud that Naza has grown from an idea into a working offline AI learning and examination preparation platform.
We built:
- A locally running AI tutor that does not depend on a cloud LLM API.
- A curriculum-grounded RAG system built from Nigerian educational resources.
- A Nigeria-aware retrieval pipeline using KEmbed-naija-v3 and FAISS.
- A fine-tuned model for Hausa and Nigerian O-Level curriculum/syllabus understanding.
- Personalized learning profiles with mastery and misconception tracking.
- Structured AI-generated mini-courses and lesson progression.
- Adaptive practice driven by student mastery.
- Interactive CBT-style mock examinations.
- Progress tracking and recommended next lessons.
- English and Hausa learning support.
- A gamified practice experience designed to encourage consistent preparation.
- A unified question bank combining multiple educational sources.
- Retrieval evaluation using metrics such as Recall@K, Precision@K, MRR, and Hit Rate.
- A dedicated tutor persona and interface built around Naza.
- A production-style desktop launcher designed for offline operation.
But our biggest accomplishment is understanding the problem more deeply through direct interaction with students.
The survey helped us realize that the examination malpractice problem cannot simply be framed as students choosing to cheat. There is a preparation gap underneath it.
When an examination is expensive, failure has serious consequences, and students do not have adequate opportunities to practice, the pressure becomes much greater.
Naza is our attempt to address that preparation gap.
What we learned
We learned that solving an education problem with AI is not primarily about having the biggest model.
The model is only one component. The quality of the educational content, retrieval system, practice experience, feedback, personalization, interface, and evaluation all determine whether the student actually benefits.
We also learned that offline AI changes the engineering problem. Cloud APIs hide many hardware constraints. Running locally forced us to understand memory, quantization, model formats, inference performance, startup time, deployment, and resource limitations much more deeply.
We learned that fine-tuning and RAG solve different problems. Fine-tuning can help the model adapt to a particular language and educational context, while retrieval gives it access to the specific curriculum material it needs to ground its answers. Combining the two gives us a stronger foundation than relying on either approach alone.
Most importantly, we learned that technology needs to address the real reasons behind a problem.
For examination malpractice, simply telling students not to cheat does not solve the underlying pressure. Students need a credible alternative: a place where they can practice enough, understand their mistakes, build confidence, and enter the examination prepared.
We also learned that localization goes beyond translation. Supporting African students means considering local languages, curricula, hardware, connectivity, electricity, affordability, and the realities of how students learn.
What's next for Naza
Our next goal is to make Naza an even stronger preparation platform.
We want to:
- Expand curriculum coverage across more Nigerian subjects and examination systems.
- Improve the quality and consistency of Hausa educational generation.
- Continue evaluating our fine-tuned model against the base model and RAG-only approaches.
- Improve adaptive learning and make recommendations more precise.
- Make the learning planner better at turning weaknesses into concrete study plans.
- Expand exam simulation and performance analytics.
- Improve visual explanations and diagram support for STEM subjects.
- Make Naza easier to deploy on affordable computers.
- Explore additional Nigerian and African languages and educational contexts.
Long term, we see Naza as more than an AI chatbot for students. We want to build an offline learning and examination preparation platform for students who are often left out of the cloud AI economy.
The problem we are trying to solve is simple but important:
Students should not have to risk their future because they could not afford enough opportunities to practice.
Naza gives them a place to learn, practice, fail safely, improve, and walk into the real examination prepared.
Built With
- adaptive
- cbt
- edtech
- faiss
- fastapi
- gemma
- get-localization
- llama.cpp
- python
- react
- typescript
Log in or sign up for Devpost to join the conversation.