Project 02

Document Summarizer

Turn PDFs, PPTX, DOCX, and Markdown into structured, AI-ready data. Captures the full context of every page — text, tables, and diagrams. Open source and free to use.

macOS on Apple Silicon · MIT licensed · Runs fully offline with local models

Full Context

Every Page, Every Element

Most extraction tools grab the text and drop everything else. Document Summarizer processes PDF, PPTX, DOCX, TXT, and Markdown — capturing text, tables, and visuals from every page into one unified JSON schema, with Markdown rendering alongside.

Vision-Aware

Sees What Text Misses

Diagrams, screenshots, and tables carry meaning that plain text extraction loses. A vision stage classifies and analyzes the visual elements on each page, so the structured output reflects what the document actually says — not just its words.

Your Models

Local or Cloud

Bring the model that fits the job: llama.cpp and Ollama for fully offline processing on your own machine, or OpenAI, Claude, and other providers when you want them. Your documents and outputs stay under your control either way.

How It Works

A three-stage pipeline from raw document to structured data.

1

Extraction

Pulls the complete content out of each document — text from PDFs via pdfium, plus the XML internals of PPTX and DOCX files — page by page, nothing skipped.

2

Vision

Classifies and analyzes the visual elements extraction alone can't read: diagrams, screenshots, and tables get identified and described so their meaning makes it into the output.

3

Summarization

Generates structured notes and topics for every page, validated against relevancy thresholds and per-page budgets, and emits one unified JSON schema plus rendered Markdown.

The Stack

A native desktop app built for a single workstation — not a service.

Desktop

  • Tauri 2Native desktop shell, macOS on Apple Silicon
  • React 19 + TypeScriptInterface built on Vite
  • Single WorkstationA desktop app by design — not a distributed service

Pipeline

  • Rust + TokioAsync processing core, built on Rust 1.88
  • pdfium-renderPDF extraction engine
  • ZIP/XML ParsingNative PPTX and DOCX handling

Models

  • Local Firstllama.cpp and Ollama for fully offline runs
  • Cloud OptionalOpenAI, Claude, and other providers when you choose
  • Quality GatesRelevancy thresholds and per-page budgets on output