Inspiration
Math teachers often spend a great deal of time collecting questions, organizing teaching materials, formatting mathematical expressions, and creating printable worksheets. Existing tools are frequently fragmented: questions may be stored in one place, formulas edited in another, and worksheets formatted manually.
MathBank was created to bring these workflows together in one local-first workspace. The goal is to help teachers build a reusable, searchable, and well-structured mathematics question bank while reducing repetitive preparation work.
What It Does
MathBank is an intelligent mathematics question bank and worksheet-building platform designed for teachers.
It allows users to:
- Create, edit, classify, and search mathematics questions
- Organize questions by grade, topic, difficulty, source, and custom metadata
- Render mathematical formulas clearly with LaTeX and KaTeX
- Import questions from documents and images using PDF processing and OCR
- Preview questions while editing them
- Add selected questions to a worksheet basket
- Assemble and format printable tests, worksheets, and teaching materials
- Export high-quality PDF documents
- Store data locally for improved privacy and control
The project turns a scattered content-management process into one connected workflow:
Import → Edit → Classify → Search → Select → Assemble → Export
How I Built It
MathBank uses a lightweight local-first architecture.
The backend is built with Python and FastAPI, while SQLite and SQLAlchemy are used for structured local data storage. The frontend uses HTML, CSS, and JavaScript, with KaTeX for mathematical formula rendering.
PDF parsing and OCR tools help convert existing teaching materials into reusable question data. The worksheet module supports structured page layouts and PDF export, allowing teachers to move from raw questions to classroom-ready materials in one application.
I also used OpenAI tools during development to accelerate prototyping, improve the interface, debug workflows, refine document-processing logic, and explore more efficient ways to structure educational content.
Challenges
One of the biggest challenges was handling mathematical content reliably. A mathematics question may contain text, formulas, diagrams, tables, answer choices, solutions, and multiple metadata fields. All of these elements must remain correctly associated during importing, editing, storage, searching, and exporting.
Another challenge was preserving mathematical formatting across different sources. OCR output and PDF text extraction are often imperfect, especially when fractions, radicals, geometric symbols, and multi-line equations are involved.
Designing the worksheet builder was also challenging because digital content must be converted into a clean printable layout. Page breaks, question spacing, answer sections, formula rendering, and document consistency all need to be handled carefully.
Accomplishments
I am proud that MathBank connects several previously separate teaching workflows in one product.
The current version can:
- Manage a structured mathematics question library
- Render complex mathematical formulas
- Import content from multiple source formats
- Support flexible classification and custom metadata
- Build worksheets from selected questions
- Generate printable teaching documents
- Run locally without requiring teachers to upload their private materials to an external database
Most importantly, the project is not only a prototype. It already supports a practical workflow that can be used to organize real teaching resources.
What I Learned
Building MathBank taught me that educational software must balance automation with human control. AI and OCR can reduce repetitive work, but teachers still need transparent editing tools and the ability to verify every result.
I also learned that data structure is especially important for mathematics content. A good question bank is more than a collection of documents: it needs consistent metadata, reusable formulas, reliable search, and a clear relationship between questions, answers, solutions, and worksheets.
This project also improved my understanding of local-first application design, PDF processing, formula rendering, database modeling, and AI-assisted development.
What Is Next
The next stage of MathBank will focus on making question entry and worksheet creation even faster.
Planned improvements include:
- AI-assisted question recognition and classification
- Automatic extraction of questions, answers, and solutions
- Semantic search using natural-language queries
- Similar-question detection
- Intelligent worksheet generation based on topic and difficulty
- Automatic difficulty analysis
- More worksheet templates and export styles
- Better diagram and geometry support
- Optional encrypted synchronization across devices
- Learning analytics and personalized practice recommendations
The long-term vision is to make MathBank an intelligent workspace where teachers can transform existing materials into structured knowledge and create high-quality learning resources with much less repetitive work.
Built With
- computer-vision
- css3
- deepseek
- fastapi
- html5
- javascript
- katex
- latex
- multimodal-ai
- ocr
- openai-codex
- pymupdf
- pytest
- python
- rest-api
- sqlalchemy
- sqlite
- tailwind-css
- tikz
- uvicorn
Log in or sign up for Devpost to join the conversation.