Overview
The platform uses theUserMastery model to track your learning progress across different topics and concepts. This comprehensive tracking system helps you identify strengths, weaknesses, and areas requiring focused practice.
UserMastery Model
Each topic you practice has a corresponding UserMastery record:Viewing Mastery Levels
Overall Progress
Get a comprehensive view of your progress across all topics:app.py:1992-2081
Topic-Specific Mastery
Get detailed mastery data for a specific topic:app.py:2081-2095
Understanding Metrics
The platform tracks several key performance indicators:Semantic Similarity
What it measures: How well your answers match expected responses in meaning and content. How it’s calculated:- Uses SentenceTransformer embeddings (all-MiniLM-L6-v2)
- Computes cosine similarity between your answer and expected answer
- Range: 0.0 (no match) to 1.0 (perfect match)
- 0.9-1.0: Excellent understanding, comprehensive answer
- 0.7-0.89: Good grasp, minor details missing
- 0.5-0.69: Partial understanding, needs improvement
- Below 0.5: Weak understanding, requires focused study
semantic_avg - Average across all questions in topic
Keyword Coverage
What it measures: Presence of important technical terms and concepts in your answers. How it’s calculated:- Extracts key terms from expected answer
- Checks which terms appear in your response
- Percentage of expected keywords found
keyword_avg - Average keyword coverage score
Mastery Level
What it measures: Your overall proficiency in a topic. How it’s calculated:- Combines semantic similarity and keyword coverage
- Weighted by recent performance (recent answers count more)
- Adjusted based on question difficulty
mastery_level - Overall topic mastery (0-1)
Interpretation:
- 0.85+: Advanced mastery, ready for senior-level questions
- 0.70-0.84: Solid understanding, intermediate level
- 0.50-0.69: Developing skills, needs practice
- Below 0.50: Beginner level, focus on fundamentals
Learning Velocity
What it measures: How quickly you’re improving. How it’s calculated:mastery_velocity
Interpretation:
- Positive: You’re improving
- Zero: Performance plateau
- Negative: Recent performance decline (may indicate fatigue or harder questions)
Response Time
What it measures: Average time to answer questions. Field:avg_response_time (in seconds)
Usage:
- Tracks your thinking speed
- Identifies topics where you hesitate
- Helps calibrate interview readiness
Session History and Progress
View All Sessions
Retrieve your complete session history:- All interview sessions (mock, technical, coding)
- Debugging sessions
- Scores and completion dates
- Session-specific feedback
app.py:3170-3186
Recent Performance
Get your last 20 sessions sorted by date:Performance Trends
Track improvement over time: Sessions Attempted:- Shows practice frequency
- Located in
sessions_attemptedfield
- Accuracy rate =
correct_count / questions_attempted - Indicates answer quality
- Positive trend = consistent improvement
- Negative trend = may need to review fundamentals
Concept-Level Tracking
The platform tracks mastery at the individual concept level within each topic.Concept Masteries
Detailed data for each concept stored as JSON:models.py:112-147
Weak vs. Strong Concepts
Weak Concepts (is_weak: true):
- Mastery level below 0.6
- Require focused practice
- Appear more frequently in adaptive sessions
is_strong: true):
- Mastery level above 0.8
- Well understood
- Appear less frequently to avoid redundancy
Concept Stagnation
What it tracks: Concepts where mastery isn’t improving despite practice. Field:stagnation_count
- Increments when mastery doesn’t increase after attempts
- Used to adjust teaching strategy
- May trigger different question types or explanations
Adaptive Difficulty
The system automatically adjusts question difficulty based on your performance.Difficulty Levels
Field:current_difficulty
Values:
easy: Foundational questionsmedium: Standard interview questions (default)hard: Advanced and complex scenarios
Difficulty Progression
Triggered by streaks:consecutive_good (good performances):
- 3+ consecutive good answers → increase difficulty
- Keeps you challenged and engaged
consecutive_poor (poor performances):
- 3+ consecutive weak answers → decrease difficulty
- Helps rebuild confidence and fundamentals
- Streaks reset when you change difficulty levels
- Reset when switching topics
Resetting Mastery
If you want to start fresh or practice from the beginning:Reset Specific Topic
- Deletes UserMastery record for that topic
- Clears all concept data
- Preserves session history
Reset All Topics
- Deletes all UserMastery records
- Fresh start across all topics
- Session history remains intact
app.py:2234-2279
Debugging Sessions
For debugging practice, separate tracking is available:- Debugging session records
- Code challenges completed
- Performance summaries
- Concepts practiced
app.py:2801-2806
Action Plans
Get personalized learning recommendations:- Topics to focus on
- Specific weak concepts to practice
- Recommended session types
- Difficulty adjustments
app.py:2915-2932
Best Practices
Next Steps
Resume Practice
Continue with more interview sessions
Resume Analysis
Find skill gaps to address
Interview Endpoints
Explore progress tracking endpoints
Adaptive Learning
View comprehensive mastery data