Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

TopicSort is a browser-based tool that transforms syllabus PDFs and past exam papers into a structured format and provides detailed analysis using Google Gemini integrations

License

Notifications You must be signed in to change notification settings

ameen-pj/topicsort

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TopicSort 🧠

TopicSort is a browser-based tool that transforms syllabus PDFs and past exam papers into a structured format and provides detailed analysis using Google Gemini integrations. It parses syllabi to capture course metadata and module hierarchies, aligns each question paper back to that structure, and highlights difficulty, mark distribution, and study priorities while keeping documents local aside from the snippets sent to Gemini.

Features

  • Extracts course structure, modules, and topics directly from syllabus PDFs.
  • Maps every question in an exam paper back to syllabus modules and individual topics.
  • Estimates difficulty, marks, and study focus per question with collapsible insights.
  • Saves multiple syllabus contexts in browser storage for instant reuse across papers.
  • Runs entirely in the browser; only the Gemini API receives document summaries.

Prerequisites

  • A modern Chromium-based browser (Chrome, Edge, Brave) or Firefox.
  • A Google Gemini API key from https://ai.google.dev/. Keep usage within your quota.

Using TopicSort

  1. Step 1 – Upload syllabus PDF. Drop a syllabus file and click Extract Syllabus Data. Review the detected course name, code, module count, and topics.
  2. Step 2 – Upload question paper. Provide an exam paper PDF and click Categorize Questions. TopicSort sends the relevant excerpts to Gemini and returns a structured analysis.
  3. Explore insights. Filter questions by module, expand them for topic alignment, difficulty, marks, and toggle suggested answers as needed.
  4. Reuse syllabus contexts. Save the extracted syllabus for later sessions. Switch contexts from the dropdown without re-uploading the syllabus.

Data Handling

  • PDFs never leave your browser except for the snippets required by Gemini to fulfill each prompt.
  • API keys and stored syllabi persist in browser localStorage. Clear storage or use the in-app reset to remove them.
  • Exceeding quota or using an invalid key will trigger in-app prompts to update the key.

Tech Stack

  • Vue 3 for reactive UI state management.
  • Google GenAI SDK for Gemini model calls.
  • Vanilla CSS for the interface and loading animations.

Troubleshooting

  • API key rejected: Use the Enter API Key button and ensure the key has Generative Language API access.
  • Blank screen on file open: Run TopicSort through a local web server instead of double-clicking index.html. Module imports require HTTP.
  • Slow or partial responses: Large PDFs increase latency; trim unnecessary pages before uploading when possible.

License

This project is licensed under the GNU General Public License v3.0. See LICENSE for details.

About

TopicSort is a browser-based tool that transforms syllabus PDFs and past exam papers into a structured format and provides detailed analysis using Google Gemini integrations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published