🔍 Semantic Search for Maths Questions

live

Flask NLP Webapp

A full-stack web application that allows students to search through Leaving Certificate Higher Level Mathematics papers using natural language queries. Instead of manually browsing through years of exam papers, students can simply describe what they're looking for.


Built this very quickly to help myself and other students quickly find relevant practice questions by topic rather than having to search through PDFs manually. The system uses sentence transformers to understand the semantic meaning of both the search query and the questions in the papers.


Key features:

- Natural language search (e.g., "calculus and derivatives", "trigonometry problems")

- AI-powered semantic similarity using sentence transformers

- Embedded PDF viewer with direct links to relevant pages (for questions and marking schemes)

- Modern responsive UI that works on desktop and mobile

- Real-time processing status and paper browser

- Support for marking schemes with question-specific navigation


The backend processes all PDF papers, extracts text using PyPDF2, and creates embeddings using the all-MiniLM-L6-v2 model. Search results are ranked by cosine similarity and displayed with similarity scores and question previews.


Never using flask to deploy a webapp again, took longer to deploy than to build it.

← Back to all projects

Project Images

Project screenshotProject screenshot