macOS research tool · SwiftUI + PDFKit

MathReader

MathReader is a personal macOS app for reading mathematical papers and lecture notes with an AI assistant beside the PDF. It is built around the actual workflow of doing mathematics: selecting a passage, recognizing formulas, asking for a derivation, annotating the PDF, and keeping references organized.

MathReader
Lecture notes
E[f(X) | G]
AI

Recognize the selected formula and derive it step by step.

LaTeX ready

What It Is For

The project is a reader for mathematically dense PDFs. Instead of switching between a PDF viewer, a browser, a note-taking app, and a bibliography manager, MathReader puts those actions into one reading surface.

Read and Annotate

Highlight, underline, strike out, add notes, erase annotations, and save changes back to the PDF.

Formula OCR

Drag a rectangle over formulas, figures, or text and send the captured region to a vision model.

Mathematical AI

Ask for translations, explanations, citation parsing, or rigorous step-by-step derivations.

Reference Tools

Store paper metadata, copy LaTeX citations, generate BibTeX, and export Markdown notes.

Reading Workflow

01

Import papers into topics

Build a small research library by topic, or paste an arXiv link to fetch metadata and download the PDF.

02

Read with context

The reader remembers your last position and uses the current PDF page as background context for AI answers.

03

Select, capture, or ask

Select text for translation, capture a formula as an image, or ask a follow-up in the side panel.

04

Export usable notes

Save paper notes together with BibTeX and AI conversations as a Markdown file.

Implementation Notes

Native macOS foundation

The app is written in SwiftUI with PDFKit, WebKit, Vision, and AppKit. The interface combines a topic-based library, a continuous PDF reader, and a resizable assistant panel.

Multiple assistant modes

MathReader supports API-based analysis and web assistant modes, including DeepSeek Web, Gemini Web, ChatGPT Web, and Claude Web. Text models and vision models can be configured separately.

Academic metadata

Imported papers can store authors, year, abstract, DOI, arXiv ID, URL, tags, citation key, and personal notes.

Multilingual reading

The app interface and assistant prompts support English, Chinese, and French, useful for reading across lecture notes, papers, and seminar materials.

Project Status

MathReader is an evolving personal tool. The current public release is V2.2, and the project is especially aimed at students or researchers who read technical PDFs with many formulas.

View on GitHub