Home / A decade of Word 97 conference files, rebuilt for the web for $30

A decade of Word 97 conference files, rebuilt for the web for $30

View as Markdown
On this page

Core workflow: Rebuilding a decades-old conference archive into a modern web publication succeeds when AI is embedded inside a structured, verifiable engineering pipeline—coupling Pandoc format normalization and Python chunking with GPT-4o metadata enrichment, Git hunk reviews, and static Astro compilation.

1,500
Source Word Files
2,500
Web Pages Generated
1.8M
Words Processed
~$30
Total GPT-4o Cost
  1. 1. Word 97/2000 archive
  2. 2. Heading structure & Pandoc
  3. 3. Python section splitting
  4. 4. GPT-4o metadata enrichment
  5. 5. Git diff human review
  6. 6. Astro build & daily deploy

Preserving a legacy of conferences

A non-profit organization held an irreplaceable cultural archive: decades of spoken conference transcripts stored in legacy Microsoft Word 97/2000 files.

The collection was rich in content but poor in structure
monolithic documents spanning hours of speaking time without consistent headings, standardized metadata, or clean web formatting. Making them publicly accessible, searchable, and SEO-friendly required a scalable modernization pipeline rather than manual editorial rewriting.

Archive Strengths

The Content Goldmine

Decades of authentic oral transcripts, deep historical and philosophical lectures, and substantial cultural volume preserved by dedicated non-profit members.

Archive Bottlenecks

The Structural Barrier

Proprietary binary Word formats, missing section breaks, arbitrary title styles, zero machine-readable metadata, and files too large for web browsing.

This post details how we transformed that legacy corpus into a structured, searchable digital publication using Pandoc, Python, GPT-4o, and Astro, completing the entire processing run for roughly $30.


1. Structuring legacy content: Word to Markdown

The first step was structural normalization, not AI generation. Before an LLM can assist with metadata, the underlying documents must be brought into clean, plain-text formats:

  • Applied standardized heading styles to previously unstructured Word transcripts.
  • Converted Word to Markdown using Pandoc, creating a portable, clean plain-text foundation.
  1. Word 97/2000 (.doc)
  2. Standardize titles in Word
  3. Pandoc CLI conversion
  4. Clean Markdown (.md)

Using Pandoc ensured the source text was completely stripped of proprietary binary formatting, leaving lightweight Markdown files ready for programmatic manipulation.


2. Splitting monolithic transcripts into sections

Publishing a single 50-page transcript as one web page creates an unreadable wall of text and undermines search discoverability. We needed one focused Markdown file per conference section.

We developed a custom Python script that parsed Markdown heading delimiters and split each large file into autonomous section files:

Multicolored folders illustrating content chunking and modular filing.
Modular chunking: splitting monolithic transcripts into individual conference files ready for per-page metadata.

This sectioning step delivered immediate downstream benefits:

  • Granular URLs: Each conference topic received a dedicated, linkable URL slug.
  • Focused reading experience: Readers could explore specific questions and answers without scrolling through tens of thousands of words.
  • Targeted SEO indexing: Search engines could index individual themes and concepts rather than burying them in massive documents.

3. Enriching metadata with GPT-4o

With the transcripts divided into focused sections, we used GPT-4o strictly for metadata enrichment and structural signposting, keeping the historical transcript text untouched.

The script passed each section to GPT-4o to extract and generate:

  • Thematic keywords: Identifying core subjects to power faceted archive search and tag browsing.
  • Astro YAML frontmatter: Automatically assembling valid frontmatter:
    • title: Formatted for search engine results pages (SERPs).
    • description: Concise 150-character summary for Google snippet previews.
  • Canonical dates: Parsing human-readable dates embedded within legacy file headers into machine-readable ISO timestamps (YYYY-MM-DD).
  • Intermediary subheadings: Suggesting relevant H2/H3 headings to break up extended oral speeches into scannable reading blocks.
---
title: "The Architecture of Meaning: 1999 Spring Conference (Part 2)"
description: "An inquiry into symbolic language and technical understanding from the 1999 conference transcripts."
publishDate: "1999-04-12"
tags: ["Hermeneutics", "Oral History", "Philosophy of Language"]
---

4. Iterative workflow: Scale only after validation

Automating metadata across 1,500 files required strict quality controls. We never ran the script across the full archive blind:

  1. 1. Run script on small directory batch (10 files)
  2. 2. Inspect changes with git diff
  3. 3. Tune GPT prompt & refine regex
  4. 4. Validate structural consistency
  5. 5. Scale to 1,500 files in batch mode

Engineering rule: scale only after validation. Never run an unreviewed prompt across an entire archive. Testing on small batches and inspecting diffs ensures you catch prompt drift, schema deviations, and formatting anomalies before processing millions of tokens.

This discipline of using Git diffs as an editorial safety net is identical to the human-supervised translation loop detailed in Translating legacy French docs with DeepL and GPT-4o.


5. The scale and economics of the transformation

By establishing clean batch automation, we processed decades of cultural records on a modest non-profit budget:

Corpus Volume

1.8M words across 1,500 files

Transformed into 2,500 structured web pages, with full-text search, date filtering, and thematic tag browsing.

Processing Budget

~$30 total API cost

Consumed roughly 6 million GPT-4o tokens by restricting prompt scope to metadata extraction rather than full document rewriting.

Environmental Footprint

~300 km car journey equivalent

Processing 6 million tokens generated an estimated carbon footprint comparable to a 300 km passenger car trip, underscoring the need for efficient chunking.

Publication Horizon

Continuous releases through 2032

Rather than publishing 2,500 pages in one overwhelming release, the site publishes conferences daily to maintain steady visibility and discovery.


6. A living digital archive

Thanks to this workflow, the non-profit established a self-sustaining publication pipeline built entirely on plain Markdown files stored under Git:

  • Daily automated publishing: A continuous stream of daily conference releases extending through 2032.
  • Faceted search & exploration: Readers and researchers can search by keyword, speaker, or year without loading slow database queries.
  • Long-term preservation: Plain text in Git ensures that the archive remains readable decades after proprietary Word and CMS versions become obsolete.
  • Tiered access: Immediate full-archive exploration for authorized non-profit members via password-protected sections, alongside public daily releases.

Lessons learned from legacy archive automation

1. Cost control requires staged iteration

Validate small, scale once

Running scripts on 10-file subsets and tuning prompts prevented costly prompt failures, keeping the total API cost below $30 for 1.8 million words.

2. Human-in-the-loop oversight is non-negotiable

Git diff as verification

Automated metadata extraction is powerful, but inspecting diffs caught date-parsing anomalies and ambiguous topic titles that no automated test could detect.

3. Domain expertise shapes script accuracy

BeautifulSoup integration

Guiding AI requires technical direction. Explicitly prompting GPT to use Python’s BeautifulSoup library ensured robust parsing of legacy Word HTML fragments embedded within Markdown blocks.

4. Environmental awareness belongs in architecture

Token efficiency matters

Multi-million-token runs carry real compute footprints. Structuring prompts to extract only frontmatter minimized unnecessary token generation.

5. AI is a collaborator, not an autonomous engine

Leverage within constraints

The project succeeded because AI operated inside a deterministic pipeline bounded by Pandoc, Python file-handling, and Git version control.


Next steps for the digital archive pipeline

While the Python script and GPT-4o prompts were tuned to minimize hallucinations, automated metadata generation requires ongoing human validation:

Progressive verification: Nothing guarantees 100% accuracy in LLM-generated summaries. Non-profit members are systematically reviewing published pages against audio recordings. Future exploration includes running local open-source models via frameworks like LangChain to perform automated input/output consistency checks offline.

Ongoing roadmap initiatives include:

  • Thematic cross-linking: Automatically suggesting related conference sessions based on keyword co-occurrence.
  • Multilingual executive summaries: Generating concise French and Spanish summaries for international researchers.
  • Historical image indexing: Associating archived event photographs with specific conference sections.

External sources

Hero image: “microsoft-office-lens-scanner” by downloadsource.fr, licensed under CC BY 2.0.

Follow Olivier Carrère on LinkedIn

Continuous writing on docs-as-code, DITA XML, YAML, and AI-assisted documentation pipelines.

Follow ↗