Add same-topic historical comparison and progress to interview reports
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- javascript, rust
Research direction
Start by reading web/history.js to understand how completed reports and problem topics are stored, then inspect web/render.js and reportMarkup(...) for the report view. The issue also identifies web/practice-insights.js and tests under tests/browser/ as likely entry points. Done means showing same-topic metric and phase comparisons and resolved weaknesses, while handling first attempts and incomplete reports without changing storage or replay behavior.
Written by the indexing model from the issue text.
Description
Motivation
When a candidate finishes an interview practice session (for instance, solving a 1D Dynamic Programming problem), they currently receive an evaluation report in isolation. While CodeTrial tracks recent weak topics and offers a practice focus recommendation in the lobby, it does not provide direct feedback comparing the candidate's latest attempt with their previous attempts within the same category.
Without category-grounded comparison, candidates cannot easily tell whether they improved on specific recurring bottlenecks or whether previous weaknesses identified by the rubric were successfully resolved.
Proposed Solution
Introduce a client-side historical comparison section in the post-interview report view that compares the current report against the most recent completed report in the same topic or problem category.
The feature will:
- Identify the previous attempt sharing one or more problem topics from existing local/account history (
web/history.js). - Compute measurable deltas across key metrics:
- High-level score and hint metric (coding score, communication score, hints count).
- REACTO phase score progressions (
frameworkAssessment.phases). - Weakness resolution: highlight which items from the previous attempt's
improvementPlanwere avoided in the current attempt.
- Suggest the next prioritized drill tailored to the category based on remaining or recurring weaknesses.
Expected Behavior
- When a candidate finishes an interview and has at least one previous completed report in the same category/topic, the report view should display a "Category Progress & Comparison" card comparing the two sessions.
- The comparison should show score changes (+/- deltas), hint differences, and phase score progression (Repeat, Example, Algorithm, Coding, Test, Optimizations).
- Weaknesses from the prior session's
improvementPlanthat did not reoccur should be listed as resolved/improved. - When there are no prior attempts in that category, or if the current session was marked incomplete, the card should gracefully show that this is the first recorded session in the topic without errors.
- Existing report rendering, replay view, and storage serialization contracts must remain completely unaffected.
Possible Implementation
web/practice-insights.js: Add helper functions to query recent history for matching topics, compute score and phase deltas, and reconcile previousimprovementPlanitems against current findings.web/render.js: InreportMarkup(...), add a dedicated section to render the comparison table, resolved weakness checklist, and next targeted drill.tests/browser/: Add unit tests verifying delta calculations, empty/first-attempt edge cases, and incomplete report handling.
- Dominant language
- Rust
- Stars
- 177
- Forks
- 100
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 138
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from sysprog21/codetrial
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
Audio output can be confirmed without playing a test soundPossibly taken @ChenYingHan1121 claimed this 1 day ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
sysprog21/codetrial#359 · 3 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
Add a Copy code button to the final reportPossibly taken @yansawu claimed this 2 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
sysprog21/codetrial#318 · 5 comments · 2 reactions · 1 assignee ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
Maintainers usually reply within 1 day
-
Let the candidate mark interviewer lines they did not understandPossibly taken @April-ying claimed this today. Open
sysprog21/codetrial#391 · 1 assignee ·
Maintainers usually reply within 1 day
All issues in sysprog21/codetrial
Similar issues
-
priority: medium
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
storytold/photocraft#8041 · 1 comment ·
Maintainers usually reply within 1 day
-
documentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
writerslogic/holographic-memory#96 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 63/100
Maintainers usually reply within 1 day
-
bug good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
engine-rs P3 review-deferral wasm
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
maniator/verticopolis#1154 ·
Maintainers usually reply within 1 day