The Problem

The most capable AI study tools are currently gated behind stable internet requirements and API paywalls. For students managing limited data budgets and unreliable campus Wi-Fi, cloud-based summarization and quiz generation are often completely out of reach. The barrier preventing widespread use of AI in education isn't a lack of computing power—it's access economics.

What We Built

Campuspadi SmartNotes Lite is an offline reimplementation of the Smart Notes feature from Campuspadi — a live study platform serving Nigerian university students. The pipeline takes a typed student note and generates a faithful summary and quiz questions, running entirely on a quantized 3B language model via llama.cpp — no internet, no cloud, no API fees.

How We Built It

  • Benchmarked four candidate models (Gemma 2 2B, Phi-3.5-mini, Qwen2.5 3B, Llama 3.2 3B) against real student notes on faithfulness, summary quality, and structured output consistency
  • Selected Llama 3.2 3B Instruct quantized to Q4_K_M (~2GB, ~3.4GB peak RAM)
  • Built the inference pipeline with llama.cpp + OpenBLAS for CPU acceleration
  • Engineered the prompt to enforce single correct answers, grounded distractors, and strict faithfulness to the source note
  • Validated on an Intel Core i5, 6.8GB RAM, Ubuntu 22.04 — hardware close to the ADTC Standard Laptop spec

Results

  • Peak RAM: 3.4 GB (well under the 7 GB ceiling)
  • Generation: 5.86 tokens/second
  • Efficiency score (Seff): 50.9/100
  • No thermal throttling detected

What We Learned

The hardest problem wasn't making a model run offline — it was making it faithful. Small quantized models hallucinate confidently. Phi-3.5-mini invented a correct answer that directly contradicted the source note. The real engineering work was prompt design and model selection, not just quantization.

Challenges

  • WSL2 memory configuration on Windows to accurately simulate the 7GB ceiling
  • llama.cpp compilation with OpenBLAS on Ubuntu 22.04
  • Python 3.11 dependency requirement for adtc-profiler on a 3.10 system

Built With

Share this project:

Updates