Degree

Bachelor of Science (Computer Science)

Department

Department of Computer Science

School

School of Mathematics and Computer Science (SMCS)

Advisor

Dr. Syed Ali Raza, Assistant Professor, Department of Computer Science

Keywords

Spaced repetition, SM-2, active recall, LMS integration, AI content generation, mobile learning, study automation

Abstract

University students rarely struggle from a lack of study material; the real cost is the cognitive overhead of converting that material into actionable study sessions, a phenomenon we term the meta-work of studying. Recallable is a mobile application that eliminates this friction by integrating three components: automated Learning Management System (LMS) content extraction via an incremental Selenium-based scraper that syncs course materials on a recurring schedule, an on-demand AI-powered generation pipeline backed by Claude Haiku 4.5 with a multi-model Groq fallback chain producing lecture summaries, flashcard sets, and MCQ quizzes, and a SuperMemo SM-2 spaced repetition engine operating at topic granularity, extended with a weighted mastery update formula. A background daemon thread delivers in-app notifications tied to each topic's computed review due date. A pre-development survey of 60 IBA students across all four schools validated the problem: 100% reported cramming before exams, 89.6% do not review after class consistently, and 90% expressed demand for AI-generated questions from their own course materials. Recallable is deployed on AWS EC2 with a Flutter frontend, a FastAPI backend, Firebase Firestore and Firebase Storage for persistence, and a Docker-containerised scraper for portability. Beta testing with 5 students on Android across real IBA courses validated the end-to-end pipeline. The system reduces required student input to a single tap.

Tools and Technologies Used

Flutter, Dart, Python, FastAPI, Claude Haiku 4.5, Groq, Firebase Firestore, Firebase Storage, Firebase Auth, AWS EC2, Docker, GCP Cloud Run, Selenium, BeautifulSoup4, JWT, Fernet encryption

Methodology

Recallable was developed using an iterative, full-stack agile methodology across six phases: requirements analysis via a 60-student survey and stakeholder interviews; architecture design separating presentation, application, and data layers; LMS integration with incremental metadata-diff sync; an on-demand AI content generation pipeline using a single LLM call for combined topic extraction and lecture generation, routed through a multi-model fallback chain with exponential backoff; a topic-level SM-2 spaced repetition engine extended with a weighted mastery formula and week-level aggregation; and a Flutter frontend built from iterative Figma design cycles. Validation combined pre-development survey evidence, functional correctness verification of the SM-2 implementation against the published specification, and iterative end-to-end beta testing with 5 students on real IBA course materials.

Document Type

Restricted Access

Submission Type

BSCS Final Year Project

Share

COinS