This project is a historical preservation project, with multiple goals. The primary goal is to preserve the history through letters that my family has kept and gathered for years. These letters were written during World War II, and were sent as love letters between my great grandfather Ollie, and my great grandmother Martha. We want to preserve these letters by scanning them, but also by transcribing them, and publishing a website to make it easy to read and explore the history during this time period.
There are a few secondary goals to this project as well. One is to teach my parents how to use Git, and subsequently GitHub. They have put in a ton of work to scan and format the letters into easy to handle pdf files, which is a huge part of this project, and the only way that the rest of it can happen. Having them use Git to collaborate on the project while I am working on transcriptions and building a website will both improve their learning, and make it easier to collaborate in real time, rather than waiting until the scanning phase is entirely complete.
I also wanted to learn how to train an AI model on the letters, to hopefully make it easy to scan and transcribe Ollie's handwriting. A big secondary portion of the project is just taking the digital files, and making smart choices about how they need to be formatted and stored so that they can be easily aggregated and used within a website. Once a website is built, it's something that could be shared with the entire family, in a way that everyone could easily digest.
I have worked on much of this project with the assistance of various AI, including using the Transkribus tools for AI transcription, and using various models through GitHub Copilot to assist with the website design, and with creating helper tools for managing the heaps of files that inevitably get generated. My goal is that even though much of the project is fueled by AI (And would take 10x as long without the help of the AI transcriptions), I don't want the site to look like a garbled AI mess at the end of the day.
This project includes three CLI helper tools for processing scans and transcripts:
npm run convert:pdfs- converts letter PDFs into date-based PNG folders.npm run reorder:pngs- compacts and renumbers page PNG files.npm run import:transkribus-txt- imports Transkribus.txtexports into matching letter date folders.
Detailed flags, command usage, and examples are documented in tools/README.md.