Inspiration

At Carnegie Mellon University Africa, students face a demanding workload — multiple projects, research assignments, and fast-paced courses every semester. As students ourselves, we often struggled to stay organized, keep track of study materials, and remember key concepts long-term.

We realized that while there are many study tools online, none are truly tailored to the CMU Africa experience. We wanted something that brought all our materials together, encouraged active learning, and made remembering easier.

That’s how Pamoja was born — a learning companion made by CMU Africa students, for CMU Africa students.

What it does

Pamoja helps students learn smarter, not harder.
It brings all your course materials into one interactive platform and turns them into personalized study tools.

Students can:

  • Upload lecture notes, slides, or PDFs.
  • Automatically generate quizzes and flashcards using AI.
  • Use the spaced repetition technique to strengthen long-term memory.
  • Learn interactively through review sessions and progress tracking.

The result is a smart assistant that helps you not only study, but also retain what you learn.

How we built it

We built Pamoja using Next.js and TypeScript for a modern, performant, and type-safe web application.

For the backend and cloud services, we rely on Firebase:

  • Firebase Authentication to securely manage user accounts.
  • Firestore as a scalable, real-time database to store notes, flashcards, and quiz data.
  • Firebase Storage for storing uploaded lecture materials, PDFs, and images.
    -GPT-4o-mini for the AI Summary

We also implemented AI-powered algorithms on the frontend and backend to generate quizzes and flashcards automatically and support spaced repetition for better learning retention.

Challenges we ran into

  • Making the quiz and flashcard generation context-aware for technical course materials required fine-tuning and testing.
  • Designing a spaced repetition system that adapts to individual learning pace was challenging.
  • Handling large file uploads in Firebase Storage while keeping the app fast and responsive.

Accomplishments that we're proud of

  • Seeing Pamoja generate meaningful flashcards and quizzes directly from uploaded lecture notes.
  • Building an app that truly resonates with the CMU Africa student experience.
  • Successfully integrating Firebase services to provide real-time collaboration and secure data storage.

What we learned

We learned how effective active recall and spaced repetition can be when integrated into a web-based learning tool.
Technically, we improved our skills in:

  • Full-stack development with Next.js and TypeScript.
  • Using Firebase services for authentication, real-time data, and storage.
  • Creating a seamless, interactive learning experience tailored to student needs.

What's next for PAMOJA

  • Add collaborative learning spaces so students can share flashcards and challenge each other through quiz rooms.
  • Enhance AI algorithms for more context-aware quiz and flashcard generation.
  • Build a learning analytics dashboard to visualize student progress and optimize study habits.
  • Expand Pamoja to other universities facing similar learning challenges.

“Pamoja” means “together” in Swahili — because learning is better together. TOGETHER WE CAN

Built With

  • firebase-firestore-databse
  • firebaseauth
  • firestore
  • gpt-4o-mini
  • nextjs
  • typescript
+ 34 more
Share this project:

Updates