Prezentable: PowerPoint Add-In for AI-Powered Presentation Editing
Overview of Our Client
Our client needed to improve the way users prepared and refined PowerPoint presentations. The existing procedure relied mainly on manual editing: users opened individual slides, rewrote placeholder text, and checked the content against the presentation template.
The client wanted to introduce AI assistance directly into PowerPoint but keep users in control of the editing process. The solution had to improve wording, grammar, and clarity without modifying slide layouts or making uncontrolled changes to the presentation.
SCAND was engaged to develop a VSTO add-in that could read the structure of an open PowerPoint presentation, prepare a compact representation for an AI model, and present suggested edits to users before applying them.
- Platform: Microsoft PowerPoint
- Industry: Productivity Software / Office Automation / Artificial Intelligence
- Application Type: Desktop Office Add-in
Challenge
PowerPoint add-ins operate directly inside the Office application process, which created several technical and functional constraints for AI-assisted editing. The solution had to work with PowerPoint's COM-based object model while communicating with an external LLM and maintaining a responsive user experience. Given these circumstances, we defined the following challenges:
- Preventing long-running AI requests from blocking the PowerPoint UI
- Managing PowerPoint COM objects correctly to prevent memory leaks and shutdown issues
- Protecting API credentials and presentation content from unnecessary exposure
- Sending structured presentation information to the LLM without uploading the .pptx binary
- Integrating a WPF interface into an Office custom task pane that accepts WinForms controls
- Supporting runtime themes and language switching
- Restricting AI-generated changes to approved text edits rather than allowing unrestricted slide modifications
- Providing users with a preview and explicit confirmation before applying AI-generated changes
Main Goals
To develop the AI-assisted PowerPoint editing solution, we specified the following goals of the project:
- Build a VSTO add-in integrated directly into Microsoft PowerPoint
- Analyze presentation structure and create a compact representation for AI processing
- Integrate an OpenAI-compatible LLM for wording, grammar, and clarity improvements
- Keep PowerPoint responsive during AI requests and support request cancellation
- Provide users with a preview of proposed edits before applying them
- Restrict AI modifications to existing text elements within the presentation
- Protect API keys and presentation data throughout the AI workflow
- Support multiple LLM providers and configurable AI endpoints
- Deliver a modern WPF-based task pane with themes and localization
- Cover core AI processing and presentation parsing logic with automated tests
Project Overview
SCAND engineers developed Prezentable, a VSTO add-in using C#, .NET Framework 4.8, PowerPoint COM Interop, WPF, and an OpenAI-compatible API to bring AI-assisted editing directly into Microsoft PowerPoint.
We built a structured presentation extraction layer that converted PowerPoint content into a compact PresentationSnapshot instead of sending the .pptx file to the LLM. An AI client then processed this snapshot and user instructions through an OpenAI-compatible API and returned structured text-editing patches.
The solution combined WPF, MahApps.Metro, and Caliburn.Micro for the custom task pane with asynchronous AI processing and PowerPoint COM Interop for applying approved changes. Users could review AI-generated edits before applying them, while the editing scope remained limited to existing slide text.
Solution
The completed solution was an AI-powered PowerPoint editing add-in that combined VSTO integration, structured presentation analysis, LLM-based content improvement, and user-controlled editing workflows.
Instead of sending the complete presentation to an AI provider, the solution extracted only the information required for text-based editing. AI-generated changes were returned as structured patches and applied only after user confirmation.
Core Platform Capabilities
- PowerPoint VSTO Integration: Added a dedicated Prezentable Ribbon tab and custom task pane directly inside PowerPoint.
- Presentation Structure Analysis: Extracted slide text, placeholder roles, theme information, geometry, and shape hierarchy into a structured snapshot.
- AI-Assisted Content Editing: Used an OpenAI-compatible LLM to improve wording, grammar, and clarity while preserving the original language and meaning.
- AI Edit Preview: Displayed proposed changes in the task pane before they were applied.
- Controlled Text Updates: Restricted AI modifications to setText operations on existing slide and shape anchors.
- Grouped Shape Support: Located editable text inside grouped PowerPoint shapes through recursive shape traversal.
- Responsive AI Processing: Executed network requests outside the PowerPoint UI thread with cancellation, timeout, retry, and stale-response protection.
- Secure AI Configuration: Protected API keys using Windows DPAPI and supported environment-variable configuration.
- Multi-Provider LLM Support: Included configurable presets for providers such as Gemini, OpenRouter, Mistral, GitHub Models, Ollama, OpenAI, and custom OpenAI-compatible endpoints.
- Modern Task Pane UI: Combined WPF with a WinForms Office host using MahApps.Metro and Caliburn.Micro.
- Themes and Localization: Supported Light/Dark themes, 18 MahApps accent colors, and English/Russian language switching.
- Automated Testing: Isolated core parsing and prompt-generation logic so it could be tested without PowerPoint installed.
User Workflow
- Presentation Analysis: The user opened a PowerPoint presentation and launched the structure parser.
- Structure Extraction: The add-in analyzed the active presentation and generated a compact structured snapshot.
- AI Request: The user entered an instruction in the AI Assistant, such as improving wording, grammar, or clarity.
- AI Processing: The snapshot and instruction were sent to the configured OpenAI-compatible LLM.
- Edit Preview: The generated text patches were displayed in the task pane.
- User Review: The user could review and modify the proposed changes before applying them.
- Apply Changes: Approved patches were written back to the corresponding PowerPoint text elements through COM interop.
- Structure Refresh: The presentation structure was rebuilt after editing so the task pane reflected the updated presentation.
Technology Stack
To support AI-assisted PowerPoint editing, Office integration, secure LLM communication, and a responsive desktop experience, we selected the following technology stack:
Platform
- C#
- .NET Framework 4.8
- VSTO
- Visual Studio
PowerPoint Integration
- Microsoft.Office.Interop.PowerPoint
- Microsoft.Office.Core
- Ribbon XML
- Custom Task Panes
Frontend/UI
- WPF
- MahApps.Metro 2.4
- Caliburn.Micro
- WinForms ElementHost
AI
- OpenAI-compatible /chat/completions API
- Provider presets
- Configurable custom endpoints
- z.ai glm-4.7-flash
Networking
- HttpClient
- Task.Run
- CancellationToken
- 90-second timeout
- HTTP 429 retry
- Stale-response protection
Presentation Processing
- PresentationSnapshot
- JSON serialization
- Open XML SDK
AI Output Processing
- PromptBuilder
- PatchParser
- AiPatch
- PatchApplier
PowerPoint Editing
- PowerPoint COM Interop
- SlideId
- Shape.Id
- GroupItems
- TextRange.Text
COM Management
- ComScope
- Marshal.ReleaseComObject
Security
- Windows DPAPI / ProtectedData
- CurrentUser scope
- Environment variables
Testing
- Prezentable.Tests
- Open XML-based extraction tests
- Automated unit tests
Build
- MSBuild
Results
The delivered AI-assisted PowerPoint solution enabled users to improve presentation wording, grammar, and clarity directly within PowerPoint while maintaining control over every AI-generated change. The structured Extract → AI → Apply workflow kept the original .pptx file outside the LLM process and limited AI modifications to existing text elements.
The solution also kept PowerPoint responsive during AI processing through asynchronous network requests, while preview and confirmation steps ensured that no changes were applied without user approval. Centralized COM object management improved application stability, while DPAPI-based API key protection and support for environment variables strengthened security.
The main results included:
- Integration with multiple OpenAI-compatible LLM providers
- Modern WPF interface with themes and English/Russian localization
- Automated testing of parsing, prompt, and Open XML processing without PowerPoint
- Resilient processing of different AI response formats and empty payloads
Core Team
- Solution Architect / VSTO Developer: Designed the add-in architecture, PowerPoint integration, presentation extraction pipeline, and controlled edit workflow
- C# / .NET Engineers: Developed the VSTO functionality, COM integration, AI client, settings, and patch application logic
- WPF Engineers: Built the custom task pane, themes, localization, and desktop UI using WPF, MahApps.Metro, and Caliburn.Micro
- AI / LLM Engineers: Implemented OpenAI-compatible API integration, prompt construction, response parsing, provider configuration, and request management
- QA Engineers: Tested presentation parsing, AI response handling, prompt generation, patch application, and application logic through automated tests
Related Cases
- React
- Node.js
- OpenAI
- API