Documentation Systems#

At Transfer Online, I built a new way to document systems from scratch, which included utilizing RST and Markdown. At the time, these may have seemed like old technology, but as someone who had previously dealt with Microsoft Word, I saw potential in how pattern heavy the languages were. I was excited about the potential to use those patterns with AI, which was first done through utilizing traditional Python scripts with APIs, where it would be much easier to have the AI follow a structure of pattern matching that was both robust and simple to use.

With Sphinx and RST, we could create highly customized manuals with specific admonitions and styles, which would be easy to maintain thanks to AI. Back in 2024, my hypothesis was that it would enable us to have robust documentation while also being able to keep up with the demand from software. As someone who had a computational modeling background, I saw promise in the iterative nature of perfecting the model to get the desired outcome. Of course, this meant first developing, researching, and designing a lot of the initial manuals by hand. After getting a solid style, though, it would be easy to replicate. Additionally, we could increase accessibility by utilizing LaTeX and the CI/CD pipeline to automatically build PDFs each time the documentation was updated. And we could do it with all of our documentation.

This hypothesis seemed to be mostly accurate, even with the use of some API endpoints from OpenAI. It proved to be much more effective once Claude introduced agentic coding, which introduced skills that could be set to reference styles or understand when to apply rules.

The only issue that remained was getting the PDFs to format correctly each time there was an update. So, I used some of the knowledge gained from both my undergraduate research, where I studied and used tensors, and coursework, including a linear algebra course and many physics courses that utilized linear algebra, to help develop an algorithm that helped the agent score the Markdown material before anything was pushed. It would effectively format the Markdown based on the outcome from the algorithm. This caused the PDFs to come out remarkably closer to perfect than prior attempts.

Overall, all of this work made it possible to have robust manuals with online and offline versions, which made them highly accessible, at a much faster rate.