Technical Case Study — XponentShift Limited

SlideSync

Finds figures your slides disagree on and updates every copy in one step.

Next.js 16React 19TypeScriptTailwind CSS v4Office.jsGoogle Gemini APIJSZipVercel
0
Runtime DB Queries
2
Detection Engines
5
Free Checks / Month
38
Automated Test Files
The Platform

What is SlideSync?

SlideSync is a task-pane add-in for PowerPoint that catches internal contradictions in a deck — a figure quoted in a sentence that no longer matches the chart it came from, a percentage repeated on two slides that has drifted apart, a total that disagrees with the table underneath it.

Pressing Check deck reads every slide's text, computes exact figures out of every chart and table in the file, and asks Gemini to read each slide against those computed numbers. Findings are drawn on the slides themselves — stale words turn red with a wavy underline and a before → after badge — and nothing is rewritten until the user approves that specific finding, with full undo.

✗ The Old Way

Manually re-checking every slide by eye after any number changes — catching drift only when a client or investor points it out.

✓ The SlideSync Way

Automatic, in-place detection with formatting-safe, opt-in corrections and full undo — no account, no install beyond the add-in, no data retention.

▣ Built By

XponentShift Limited — engineering a precision-consistency tool for consultants, finance/FP&A teams, fundraising startups, and anyone whose deck gets read closely.

Competitive Edge

How SlideSync Differs from
Manual Review & Generic AI

Traditional Approach
SlideSync
✗Manually re-read every slide after any figure changes
✓Two engines watch continuously — a 2.5s poll for text, a self-timing poll for charts, tables and pictures
✗A generic "polish my deck" AI that can silently invent numbers
✓Every proposed figure must trace back to a number computed from the deck's own chart/table XML — a hallucination produces nothing, never a wrong edit
✗AI rewrites whole paragraphs, destroying formatting
✓Every write uses getSubstring, never whole-shape assignment — bold, colour, size and font survive untouched
✗No way to preview a change before it lands
✓Findings are marked in place on the slide — a before → after badge — before anything is written
✗Undo that doesn't exist, or that clobbers work done since
✓A full edit log re-verifies against current text before undoing, so it never overwrites what the user typed in the meantime
✗Sends your whole deck to a cloud AI account with no visibility into what's kept
✓No database, anywhere — the deck lives in memory for the life of the task pane and is discarded on close
✗One AI account key, metered by the vendor, cost scales with every user
✓Five free checks a month on a shared key, then a free personal Gemini key routes every future check straight from PowerPoint to Google
✗Breaks or hides itself on older software versions
✓Detects the exact PowerPoint API tier at runtime (1.4 / 1.6 / 1.8) and degrades named features individually instead of failing outright
Engineering Breakdown

How XponentShift
Built SlideSync

Designed, developed and deployed in-house — a precision tool built around exactly what the PowerPoint API does and doesn't expose.

Dual-Engine Detection Architecture

Two independent detection systems converge into one write path — a text engine polling the Office.js object model every 2.5 seconds, and a visual engine parsing raw .pptx/OOXML for charts, tables and pictures. Both output a common Proposal[] shape sharing one verified write and undo path.

Deterministic-First, AI-Assisted Semantics

A regex/normalisation layer does all extraction, unit normalisation and grouping locally and offline — recognising that $1.2M, 1,200,000 and 1.2 million are the same fact. Gemini is asked only for what rules can't answer, and is never asked to do arithmetic or decide whether to apply an edit.

Provenance Verification Gate

Every AI-proposed figure passes a verification gate before it reaches the user — the exact text must appear verbatim in the block referenced, and every number in the replacement must trace back to a fact computed independently from the deck's own data. A hallucination produces no output at all.

Non-Destructive Slide Annotation

PowerPoint's JS API has no overlay layer or character-level coordinates, so marking a finding becomes a real, reversible edit — only the flagged words are recoloured, a badge stores the original formatting as a PowerPoint tag, and mixed-formatting spans fall back to a non-destructive frame instead.

Formatting-Safe, Verified Writes

Every text write uses getSubstring rather than whole-shape assignment, so per-run formatting survives untouched. The target text is re-read and re-verified before every write — if it moved or changed since scanning, the edit is skipped as stale rather than guessed at.

Resilient Gemini Integration

A hand-written fetch client against Gemini's Interactions API — multiple keys rotated on 429/401/403 with a 10-minute cooldown, backoff honouring quoted retry times, one request per slide with a response cache keyed by content digest, and temperature pinned to 0 for reproducible results.

Adaptive, Tiered UX

Every PowerPoint host reports a different API surface. The add-in probes shape-reading (1.4), selection (1.6) and table-cell editing (1.8) at runtime and disables exactly the unavailable feature with an explanation, rather than failing to load or silently doing less.

Engineering Challenges

Biggest Technical
Challenges

01

Office.js Can't See Inside a Chart

PowerPoint’s JavaScript API can confirm a shape is a chart and nothing else — no series, no values, no axis data. The fix pulls the entire .pptx file through the host in 4MB slices, unzips it in-browser with JSZip, and parses chart and table XML parts by hand into a normalised structure — computing roughly 40 derived metrics per visual entirely in code.

02

No Overlay or Coordinate APIs to Mark a Finding

PowerPoint.ShapeFont exposes bold, italic, colour, size and underline — nothing else. There's no way to paint a highlight or draw anything positioned relative to a character, so the only available mark is recolouring the actual words — making every annotation a genuine, reversible edit to the user's file.

03

Stopping the Model From Inventing Numbers

An earlier version let a purely deterministic matcher propose figures with no model involved — and it could confidently pair the wrong sentence with the wrong table row. That capability was removed entirely: every number the AI proposes must already be computed from the deck’s own data and independently verified in the source text.

04

Keeping AI Review Affordable and Consistent at Scale

Asked about an entire deck in one request, the model would satisfice — thoroughly answering slide 4 and never reaching slide 5. The fix is one request per slide, capped at 12 questions regardless of deck length, each cached against a content digest, with temperature locked to 0.

05

Metering a Shared AI Key Fairly With No Accounts or Database

The add-in ships with a working Gemini key so checking works instantly with zero setup — but that key's free-tier quota is shared across every install. A client-side monthly trial counter hands off to the user's own free Gemini key once exhausted, at which point their deck goes straight from PowerPoint to Google.

Process

Development
Methodology

1

Discovery

Audited exactly what the PowerPoint JavaScript API does and doesn't expose — text vs. visuals, per API version tier — since those constraints shaped the whole architecture.

2

Architecture

Designed the two-engine model — deterministic text matching plus a separate visual/OOXML pipeline — and a tiered-certainty system so the product's honesty about its own confidence became a feature.

3

Build

Built the extraction engine, the .pptx parsing pipeline, the on-slide marker system, and the verified write/undo path as independent, fully unit-tested modules — 38 test files sharing one common Proposal output.

4

Harden

Added provenance verification, key rotation and rate-limit backoff, response caching, and the shared-key metering system — the layer of work aimed at safe public distribution rather than a working demo.

5

Ship

Packaged for two distribution paths — a direct sideload zip needing no admin rights for handing to a single user, and a full Microsoft AppSource submission with manifest validation and certification notes.

// Where deck accuracy meets modern engineering

Want something like this
built for your business?

Designed and built entirely by Xponentshift Limited — engineering precision tools that hold up under scrutiny.