07 / Case study / 2025
PennContent
Drop in a PDF or a deck, get back clean semantic HTML that pastes straight into Drupal.
The problem
Every university has the same quiet workflow: a PDF arrives, someone needs it on the web, and a content editor spends an hour copying text into a CMS and fighting the markup. The output is usually a wall of paragraphs with no heading structure — which is both bad editing and bad accessibility.
What it does
Upload a PDF or a PPTX and it extracts the text with heading detection, then asks a model to produce semantic HTML — correct heading hierarchy, no inline styles, ready for Drupal. Speaker notes from slides are preserved rather than thrown away.
It runs entirely client-side, with the API key held in the browser, so no document is uploaded anywhere except the model call. Output comes in four forms: copy HTML, Drupal paste-ready, download the file, or JSON for the Drupal REST API.
Why I built it
It started as a way to stop watching people hand-rebuild documents. The interesting constraint was not the AI — it was the output contract. If the HTML is not something a CMS and an editor can both live with, the tool has just moved the work rather than removed it.