Skip to content

1. Introduction

The PDF of this document is available |HERE|.

The Gemini 3 / ChatGPT 5.2 converters [Word or ODT → HTML] are available |HERE|.


This document provides you with two converters:

  • a LibreOffice ODT to HTML converter;
  • a Word DOCX to HTML converter;

.

In this article, we aim to provide readers with a Python converter for converting Word or ODT documents into a static HTML site. This converter was initially built by the Gemini 3 AI and then by ChatGPT 5.2. It took these two AIs 356 iterations to produce the converter for this document. This involved several weeks of debugging. Gemini 3 did all the work at the beginning. It took several dozen iterations just to get a first version that was roughly correct. Then, I regularly added a new problem posed by new ODT documents. And at that point, Gemini often regressed. That is, what worked at step N no longer worked at subsequent steps. So I proceeded as follows: as soon as Gemini produced a converter that solved one of my problems, I made it a reference version and told Gemini about it. I saved this reference locally. Then, when I saw Gemini regressing for too long, I would ask it to revert to the last known reference version by providing it with the code. That’s how, little by little, we built this converter together: me telling it what I wanted—essentially by pointing out the anomalies I found in the generated HTML site—and it producing the requested code.

I used Gemini 3 with a pro license at 22 euros/month and ChatGPT 5.2 as well.

Gemini / ChatGPT will generate two Python scripts:

  • [convert] to convert the LibreOffice ODT document or the Word DOCX document into an MkDocs site;
  • [build] to convert the MkDocs site into a static HTML site;

I never looked at the generated code. I wanted to treat them as black boxes. You don’t need to be a Python developer to follow this tutorial—or even a developer at all.

When I suggested improvements to the converter to the Gemini 3 AI , it sometimes froze. It couldn’t make the requested improvements. At that point, we were on stable version V316. To move forward, I then gave this working version to ChatGPT 5.2 and asked it to make the desired improvements. ChatGPT correctly modified Gemini’s code to meet my new requests. That’s why I consider these two AIs to be the ones that generated the converter.

After that, I continued to use this technique. When one AI got stuck on a feature, I gave the other AI the latest known stable version.

The two AIs have different methods for delivering the requested Python code:

  • Gemini provides the generated script code on the query page. You then need to copy and paste this code;
  • ChatGPT provides a download link for the generated script;

Beyond 1,000 lines of generated code, Gemini showed significant weaknesses. Due to technical limitations specific to this AI, it was unable to display the entire generated code on the query page. Very often, lines of code were missing. Because of this limitation, at a certain point it was no longer possible to use Gemini 3. And so it was ChatGPT 5.2 that finished writing the script.

ChatGPT also generated the Word-to-HTML converter. I gave it the working ODT-to-HTML converter and asked it to adapt it for a Word document. It did so in 18 iterations. This is a consistent trait of both of these AIs: they understand the Python scripts we give them very well and can make significant improvements to them. For me, this is the best way to work with them.