Back to projects
Active Started Jul 2025

Slide Builder

Parse old presentations to build structure for new ones. Runs locally on Mac for privacy.

Private Repo
Python TypeScript OpenAI Vision PDF parsing

The Problem

Building a new presentation usually starts by digging through old decks. You remember a good framework from a strategy review six months ago, or a clean data layout from a board update. Finding those slides means opening PDFs one by one, scanning visually, and manually recreating the structure. The content changes every time, but the structural patterns repeat.

What I Built

Slide Builder ingests PDF and PowerPoint files, extracts the structure of each slide (headline, body layout, visual elements, argument flow), and saves it as structured JSON. You drop files into a pending/ folder and the parser processes them automatically, moving originals to processed/ when done.

Two modes handle different needs. The local parser extracts all text and images from each slide without any API calls. The AI analysis mode optionally uses multimodal vision to identify each slide’s narrative role (intro, data, comparison, conclusion), headline patterns, and source citations. This deeper analysis requires an API key but produces richer structural templates.

How It Works

The parser identifies slide types by analyzing layout patterns: a slide with a single large number and a label is a “stat highlight.” A slide with two columns of bullets is a “comparison.” A slide with a chart and caption is a “data visualization.” These structural fingerprints become reusable templates.

When building a new deck, you describe the presentation topic and the system recommends structures from your parsed library. A quarterly review might pull the executive summary template from one deck, the KPI dashboard layout from another, and the timeline format from a third. You get the skeleton with placeholder content that matches each template’s format.

Privacy

The entire local parsing mode runs without network access. PDF extraction uses Python libraries directly. Parsed data stays in local JSON files. The AI analysis mode is opt-in and only sends slide images to the configured API endpoint. The app ships as a native macOS .app bundle with a launch script, so it runs from the dock without a terminal.