ML ยท Adaptive Learning

PersonaLearn

A Streamlit study assistant that explains topics using analogies based on a learner's selected interests, then generates a quiz.

Summary

A Streamlit study assistant that explains topics using analogies based on a learner's selected interests, then generates a quiz.

Problem ยท from README

New ideas are easier to remember when they are tied to something you already know well. Standard textbooks explain every topic the same way for every reader.

Key features ยท from README
  • Preset syllabi: Topic lists for School, SSC, UPSC, and General Knowledge.
  • Interest mapping: Choose an analogy theme (Minecraft, Cricket, Marvel, Cooking, K-Pop) plus length and complexity.
  • Two views:
  • AI quiz generator: Generates a multiple-choice question from the explanation that was just shown.
  • Scoring: Running score and quiz count for the current session.

From README.md in the repository.

A Streamlit prototype that explains study topics through analogies drawn from a learner's interests (Minecraft, Marvel, Cricket, Cooking, K-Pop), then quizzes them in the same context. Built by Team Innovsphere during a 3-hour team sprint.

Python Streamlit Gemini Status

๐Ÿ’ก The Problem

New ideas are easier to remember when they are tied to something you already know well. Standard textbooks explain every topic the same way for every reader.

๐Ÿ› ๏ธ The Solution

PersonaLearn sends each topic to Google Gemini with a prompt that asks for an explanation framed around the learner's chosen interest.

  • Don't understand Trigonometry? Read an explanation based on Cricket.
  • Confused by Blockchain? Learn it through Minecraft block analogies.

โœจ Key Features

  • Preset syllabi: Topic lists for School, SSC, UPSC, and General Knowledge.
  • Interest mapping: Choose an analogy theme (Minecraft, Cricket, Marvel, Cooking, K-Pop) plus length and complexity.
  • Two views:
    • ๐ŸŽ“ Student view: Learn topics, mark them complete, and see a quiz score.
    • ๐Ÿ‘จโ€๐Ÿซ Professor view: Add or remove syllabus topics.
  • AI quiz generator: Generates a multiple-choice question from the explanation that was just shown.
  • Scoring: Running score and quiz count for the current session.

๐Ÿš€ Quick Start

Prerequisites

Installation

  1. Clone the repository

    git clone https://github.com/Soham-o/PersonaLearn.git
    cd PersonaLearn
    
  2. Install dependencies

    pip install -r requirements.txt
    
  3. Set up credentials Create a .env file in the root directory (do not commit it):

    GOOGLE_API_KEY=your_api_key_here
    

    If no key is set, the sidebar asks for one when the app starts.

  4. Run the app

    streamlit run main.py
    

๐Ÿ“ธ Screenshots

PersonaLearn landing page PersonaLearn explaining Trigonometry through a Cricket analogy

๐Ÿ—๏ธ How it Works

  1. Input: The user picks a topic (e.g., "Photosynthesis") and an interest (e.g., "Marvel").
  2. Processing: The app builds a prompt and sends it to Gemini through the google-generativeai SDK (gemini-2.5-flash).
  3. Output: The interest-based explanation is displayed.
  4. Assessment: Gemini generates a quiz question based on that explanation.

PersonaLearn multiple-choice quiz generated from the Cricket explanation, answered correctly

โš ๏ธ Limitations

  • Prototype: built in a short sprint; there are no automated tests.
  • No accounts or persistence: Student/Professor is a view toggle, not a login, and progress, scores and syllabus edits are lost when the session ends.
  • Deprecated SDK: google-generativeai no longer receives updates. Migrating to Google's google-genai package is recommended.
  • AI output is not fact-checked: explanations and quiz answers come straight from the model.

๐Ÿ‘ฅ Team Innovsphere

Built during a 3-hour rapid development sprint by:

  • Chaitanya
  • Nishant
  • Lavisha
  • Ayush
  • Soham

๐Ÿ“„ License

No license file has been added yet. Until one is, all rights are reserved by the authors.

Resources

GitHub data synced 25 Oct 2026