StudyBee is an adaptive learning platform that combines AI-driven document analysis, conversational assistance, and real-time emotion and biosensor recognition to personalize the student experience.
- Overview
- Features
- System Architecture
- Modules
- Tech Stack
- Datasets
- Installation
- Project Structure
- Team
Modern students face increasing challenges managing time, processing complex content, and maintaining emotional well-being. Existing tools often treat all learners uniformly and ignore how a student's capacity to learn shifts depending on emotional, cognitive, and physiological state.
StudyBee bridges this gap by integrating:
- Document analysis for PDF parsing, summarization, and quiz generation
- Conversational AI with a retrieval-augmented chatbot and an adaptive avatar
- Multimodal emotion recognition through text, speech, facial cues, and biosignals
- Adaptive learning that can adjust difficulty and Pomodoro length based on user state
| Feature | Description |
|---|---|
| Facial Emotion Recognition | Real-time detection of facial emotions during study sessions |
| Physiological Sensing | BPM and SpO2 monitoring from an Arduino MAX30102 biosensor workflow |
| Quiz Generation | Automatic quiz creation from uploaded PDFs |
| RAG Chatbot | Document-grounded Q&A with workflow and diagram support |
| Buzzy Avatar | Emotionally adaptive conversational agent with animated feedback |
| Text Classification | Emotion and physical state inference from free-form text |
| Adaptive Difficulty | Reinforcement learning for task difficulty adjustment |
| Speech Emotion Recognition | Emotion classification from spoken input |
| Pomodoro Prediction | Personalized focus session duration prediction |
┌─────────────────────────────────────────────────────────────────┐
│ StudyBee │
│ │
│ Frontend: React │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────┐ │
│ │ RAG Chatbot │ │ Buzzy Avatar │ │ Adaptive Engine │ │
│ └──────────────┘ └──────────────┘ └──────────────────┘ │
│ │
│ Backend: Django REST Framework │
│ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ PostgreSQL │ │ ChromaDB │ │
│ │ relational │ │ vectors │ │
│ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────────┘
Detects and classifies facial emotions in real time during study sessions.
- Dataset: FER-2013
- Model: CNN-based emotion classifier
- Output: Angry, Disgust, Fear, Happy, Neutral, Sad, Surprise
Uses wearable-style biosensor data to estimate student state.
- Sensor workflow: Arduino MAX30102 pulse oximeter
- Signals: BPM and SpO2
- Backend exposure: Django API endpoints for current and historical values
Converts PDF documents into interactive quizzes and practice questions.
- PDF parsing and text extraction
- Question generation and validation
- Export to structured formats
Retrieval-augmented chatbot for academic document comprehension.
- Grounded responses from uploaded content
- Search over session-specific document collections
- Support for summaries, answers, and generated workflows
Emotionally aware conversational interface with animated response delivery.
- Speech interaction
- Adaptive tone and output style
- Avatar-driven user experience
Predicts user state from free-form input text.
- Emotion detection
- Physical state inference
- Multilingual model support
Reinforcement learning agent that keeps tasks aligned with the user's current ability.
- Difficulty adjustment based on performance
- Reward shaping from accuracy, speed, and stability
- Per-user adaptation over time
Classifies emotion from spoken input.
- Speech feature extraction
- Sequence modeling for emotion classes
- Useful for multimodal feedback loops
Predicts an optimal Pomodoro length from user activity and wellness signals.
- Adaptive session duration
- Personalized study recommendations
- Designed to reduce fatigue and improve focus
| Tool | Purpose |
|---|---|
| Python / Django REST Framework | API layer |
| PostgreSQL | Relational persistence |
| ChromaDB | Vector search for retrieval use cases |
| PyTorch | Deep learning models |
| Hugging Face Transformers | NLP and classification models |
| PySerial | Arduino serial communication |
| Tool | Purpose |
|---|---|
| React | User interface |
| TypeScript | Type safety |
| Tailwind CSS | Styling |
| Framer Motion | Motion and animation |
| Tool | Purpose |
|---|---|
| TensorFlow / Keras | Neural network training |
| scikit-learn | Classical ML pipelines |
| SHAP | Model explainability |
| NLTK / spaCy | NLP preprocessing |
| Dataset | Task | Size |
|---|---|---|
| FER-2013 | Facial emotion recognition | 35,887 images |
| WESAD | Wearable affect detection | Multimodal biosignals |
| RAVDESS | Speech emotion recognition | Audio emotion recordings |
| StudentLife | Pomodoro duration prediction | Longitudinal student activity data |
git clone <your-repository-url>
cd StudyBee-integration_chatbotcd backend
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
pip install pyserial==3.5
python manage.py migrate
python manage.py runserver 0.0.0.0:8000cd backend
python manage.py start_bio_sensor_reader --port COM4 --baudrate 115200cd frontend
npm install
npm run devConfigure any required environment variables before running the full stack.
StudyBee-integration_chatbot/
├── backend/
├── frontend/
├── ai_services/
├── fusion_services/
├── mobile_flutter/
├── BIOSENSOR_QUICKSTART.md
├── ARDUINO_BIOSENSOR_SETUP.md
├── requirement.txt
└── README.md
StudyBee Group
StudyBee is an academic project exploring the intersection of affective computing and adaptive educational technology.