Summary
openCSE is used primarily by students preparing for exams. Currently, there is no way for a student to track which topics they have already read and revised. Every time they return to the site, they start from scratch with no visual indication of their progress.
Adding a simple "Mark as Revised" checkbox or button per topic would dramatically improve the study utility of the platform.
Problem
- Students revisiting the site cannot see which topics they have already covered.
- There is no progress indicator at the subject or semester level.
- The platform functions as a static reference only, with no personalization layer.
Proposed Solution
I will implement a client-side progress tracker using localStorage — no backend or auth required:
Core data structure:
// lib/progress.ts
const STORAGE_KEY = 'opencse-progress';
export function markRevised(topicSlug: string): void {
const progress = getProgress();
progress[topicSlug] = { revisedAt: new Date().toISOString() };
localStorage.setItem(STORAGE_KEY, JSON.stringify(progress));
}
export function isRevised(topicSlug: string): boolean {
const progress = getProgress();
return !!progress[topicSlug];
}
export function getProgress(): Record<string, { revisedAt: string }> {
const raw = localStorage.getItem(STORAGE_KEY);
return raw ? JSON.parse(raw) : {};
}
UI additions:
- A "✓ Mark as Revised" button at the bottom of each notes page that toggles state and persists to
localStorage.
- A small green checkmark badge on topic cards in the subject index listing, so students can see at a glance what they've covered.
- An optional progress bar at the subject level (e.g., "3 of 8 topics revised") on the subject landing page.
- A "Reset Progress" option in a settings area or per-subject page for re-study sessions.
All TypeScript, all client-side, zero new dependencies.
Please assign this to me. I'm happy to share a mockup first.
Labels: enhancement, feature-request, student-experience, help wanted, GSSoC 2026
Summary
openCSE is used primarily by students preparing for exams. Currently, there is no way for a student to track which topics they have already read and revised. Every time they return to the site, they start from scratch with no visual indication of their progress.
Adding a simple "Mark as Revised" checkbox or button per topic would dramatically improve the study utility of the platform.
Problem
Proposed Solution
I will implement a client-side progress tracker using
localStorage— no backend or auth required:Core data structure:
UI additions:
localStorage.All TypeScript, all client-side, zero new dependencies.
Please assign this to me. I'm happy to share a mockup first.
Labels:
enhancement,feature-request,student-experience,help wanted,GSSoC 2026