Hello to you all,
I want to tell you a bit about an app that I have designed for the Mac and windows to help out in those situations where standard OCR just does not hit the mark.
Chronicle
Chronicle is an accessibility-first desktop app for recovering difficult documents.
I built it because ordinary OCR kept failing on material I cared deeply about, especially the First World War diaries of the Manchester Regiment, where my great-grandfather Albert Henry Wharton served after lying about his age to join the British Army at just 15 years old.
I was not trying to make a generic OCR experiment. I was trying to read difficult historical material properly and follow a real human story through damaged, messy, often barely usable source documents. The same problem kept showing up in old newspapers and other archival material too. Things that looked legible in theory were still unreadable in practice.
That is why I built Chronicle: to make ugly, degraded, awkward documents more readable, more reviewable, and more accessible.
Even when I asked other people to help read some of the war material to me, the problem did not go away. Certain pages were so faded and difficult that even sighted people I asked to help could not read them with confidence. That mattered to me. It meant this was not just a matter of software performing badly; it was an access problem as well.
Chronicle was vibe-coded, but all prompting, testing, tuning, sculpting, and final integration were directed by me. It was shaped through repeated testing across many thousands of pages, run again and again so each prompt could be refined until it behaved as intended on difficult real-world material.
What Chronicle is especially good at:
- degraded scans
- archival records and historical documents
- long-form books and memoirs
- newspapers and multi-column layouts
- handwriting, forms, manuals, and mixed-format batches
- output that is easier to review in HTML or Word rather than just dumping raw OCR text
Chronicle also uses document presets so different kinds of material are not all forced through the same blunt workflow. Some of the main preset families include:
- Miscellaneous / Mixed Files
- Letters / Correspondence
- Government Reports / Records
- Legal / Contracts / Laws
- Books / Novels
- Newspapers
- Handwritten Letters / Notes / Diaries
Chronicle supports multiple AI providers, including Google Gemini, Anthropic Claude, and OpenAI, and it can export to HTML, TXT, DOCX, Markdown, PDF, JSON, CSV, and EPUB.
Some of the key workflow features include:
- seamless merge mode for combining many pages, scans, or source files into one continuous output
- queue-first processing with pause, resume, and stop controls
- page or slide scope controls for PDFs and slide decks
- automatic engine routing, with manual engine override if you want to force a provider or model
- scanner and NAPS2 import support
- session recovery after interrupted runs
- collision controls so outputs can be skipped, overwritten, or auto-numbered
- original page-number preservation when source tracking matters
- controls for punctuation, abbreviations, units, currency, and image descriptions
- visible in-progress temp files during long runs
For advanced users, Chronicle also includes more detailed controls in Preferences, including custom prompt additions and other fine-tuning options for shaping behavior more deliberately.
Repository:
https://github.com/harry6116/Chronicle
Release page:
https://github.com/harry6116/Chronicle/releases/tag/v1.0.0
Direct downloads:
Mac: https://github.com/harry6116/Chronicle/releases/download/v1.0.0/Chronicle.1.0.mac.zip
Windows: https://github.com/harry6116/Chronicle/releases/download/v1.0.0/Chronicle.1.0.windows.zip
If you are looking for the direct download links on the repository page, check the README "Download Chronicle" section or open the GitHub release page and look under the release assets.
Important boundary:
Chronicle stores API keys locally, but document content is sent to the selected provider API for processing. It cannot override provider privacy, retention, training, or confidentiality policies. Keys should never be committed to the repository.
Important disclaimer:
Chronicle uses AI-assisted extraction workflows, so outputs can still contain errors, omissions, or structural mistakes. It is designed to reduce cleanup and improve reviewability, not replace human verification. It should not be relied on as the sole basis for legal, medical, financial, compliance, or safety-critical decisions.
Chronicle is still being actively tested and refined, and thoughtful feedback is very welcome.
For now, the public feedback path is GitHub Issues:
https://github.com/harry6116/Chronicle/issues
Comments
What a fine idea
Ten years ago, I studied english medieval legal history. Kurzweil was the best-performing of the OCR apps with medieval primary source material at that time, but it was still quite some way short. I had to fill a lot of the gaps myself. What a game-changer this could be for those of us who perhaps want to write more about the Plantagenets or Tudors. That got me thinking: have you tested this on more complex historical texts? The correspondence of the Manchester Regiment is great and I can imagine that's quite degraded in many places, but it's relatively modern english. I wondered about something like, say, the Yearbooks of Edward III, which are available printed but which are more complex being middle-english grammar and syntax mixed in with Norman French; and with what other primary source material have you tried it? The original letters of Henry VIII? Oliver cromwell? Could I one day seriously sit here reading the original dispatch to Augustus Caesar informing him officially of the loss of three legions (the 16th, the 17th and the 18th) on a punitive expedition in Germany? What a great project this is.
Local OCR
How about you add the option to download and use some Gemma 4 or Qwen3.5 variant under the hood for local processing? You can even turn this thing into an assistant that can do everything from describing images and videos or what’s visible on the screen to solving captchas and RAG, agentic tasks, on-device TTS/STT and plain text or voice/video chats. LM Studio has a cluttered interface, KoboldCpp is not accessible at all, and most other software is either not as feature-rich or not as user-friendly. There’s a program called Perspective Studio and it’s developed with accessibility in mind as an alternative to LM Studio, but that one is also much simpler than LM Studio and lags behind it.
The point of this
I think this developer is going for something rather different and with which every mainstream OCR app struggles: historical material, and particularly primary source material. I seriously find this a very exciting project. There's a lot of stuff still to be written about the Popish Plot, for example.
Yes, but it still connects to an LLM.
This is nothing like FineReader or other traditional OCR software. An app that acts as a bridge between the user/input and an LLM should let us take advantage of all the capabilities of the models at once. We don’t have to install and rely on separate apps for every individual task requiring visual assistance, just as sighted people don’t need dedicated task-specific screens and even we don’t need separate screen readers for different purposes in most cases. We should be able to use apps that gather all the functionality that users need and LLMs offer in one place, instead of trying to maintain scattered efforts, which splits the already scarce resources, makes every individual app dependent on a different person/team who might abandon it at any moment, and makes it more difficult for users to find, install and update every single app. Besides, every app comes with its own files, and requires its own dependencies and/or model downloads.
Some very good feedback here.
I think what I originally designed Chronicle for was those really difficult documents.
I'm certainly going to try and test things like stuff from the tutor errors of England or Norman documents because that would be amazing if I can get that to work.
I might make that my next little project and I will show you the results.
In regards to making it describe videos and things, I don't think it's in the scope for this one application.
If you start putting too much into one program, that's when things get really difficult and muddled and it's really hard to keep track.
I have never set out to deliberately compete against your standard OCR programs or even excellent websites like scribe which have a very similar kind of idea to Chronicle.
I've set my sites on a very distinct set of tasks for the program.
This is always going to be a work in progress and it's never something that I'm going to call complete because there's always going to be features and things that I add to improve on it.
I haven't thought about the local models because I don't know if they will do as well at the reasoning that you need particularly for really complex documents that Google Gemini in particular does.
What I was experimenting with was having local models for emergencies or a fallback if you weren't online for example but I'm not sure how I'm going to go about implementing this.
It is certainly something I'm thinking about.
Keep an eye on this post in particular Bingo Little
Keep an eye on this post because as I start showing off more of the showcases particularly from these older documents as mentioned by Bingo Little, I will show them off in links here.
I hate to bring this up but there is a donation link to buy me a coffee or PayPal on the Chronicle page on GitHub, it has taken me a lot of time and finance for so much testing to get this thing up to this point so if anyone can spare a couple of bucks, I know times are extremely tough at the moment but anything would certainly help.
I'm currently starting some benchmark tests on the four mentioned documents especially the Roman Legion tablets.
Once I have got every document to A+ which is my usual workflow, I will start showing demos here.
Mediaeval chronicle documents demos for bingo little
This will be of particular interest to bingo little.
I decided to make you a demo featuring some of these types of documents that you mentioned but everyone else is free to have a look and see what Chronicle can do.
These are only some sample pages.
I've added them to the showcase on the hub repository but I've decided to also put them on dropbox so you can have an easier time downloading.
You will find the originals and some demo pages.
Now apparently, one of those Roman Legion documents has not survived.
Please feel free to take a look at this dropbox link
https://www.dropbox.com/scl/fi/p35maze00k6372u5e6w5f/Chronicle-mediaeval-documents-demos.zip?rlkey=id1ztboa9vqj63ce4ylixxi8c&dl=1
Chronicle
Hi,
I tried the app testing with a local gaming magazine with a Gemini Api key but the output is a progress temp file, Am I doing something wrong? Thanks.
Progress temp files
hey,
I should have explained this more clearly.
The way Chronicle works is this: when you select your documents to be read with the program, as it is reading each page, it writes to a local temporary file. It does this just in case there should be a computer crash or Gemini crashes or there's a power outage.
It means that when you open Chronicle again and it should ask you if you want to restart the task, it will check the 10th file and only scan the pages that it has not already done.
This stops you from wasting tokens or if you're on a paid API key, more money.
The temporary file is removed after the scan is complete and the document should have the name of your computer magazine original file.
Depending on whether your API key is free or paid, you'll be only able to scan a certain amount of pages a day on the pro model, I think it's about 500 on free and with the flash model, about 1000.
Chronicle will automatically Select the best engine either pro or flash depend depending on the text that is presented as each page is looked at.
This can all be manually overwritten.
This means that if you have a document with really heavy text with hard layouts on pages one and five and seven, it will use the quick scanning for the more easier portions.
If you're still having trouble or the scan doesn't complete, please let me know.
I would be willing to even run that computer magazine myself to check for any anomalies.
Some more notes on testing Chronicle
If you are testing Chronicle, there's something else you need to keep in mind.
The length of time for one document to read will change depending on how complex the document is.
A 500 page mathematical document or document full of hieroglyphs will take far longer than a type digital text PDF document.
The same goes with legal, legislation or other policy documents.
Chronicle attempts to the best of its ability to keep the entire layout as was meant to be.
There are also several options.
For academic or legal documents, you will find options that will enable you to keep original page numbering which is useful because the one thing I've heard often from my own friends in the legal policy space in Australia where I'm from is that they can never keep track if a colleague might say to them, I need you to look at page 2, section 13.
Re: Chronicle
Hi,
Thanks for the clarification. However I tested the app with two M 1 Macs, A Macbook Air and a Mac mini respectively, unfortunately the results are the same, I'm pasting the message and the file name.
Shows overall progress for the current queue. %100 Progress indicator.
File name: Oyungezer 190 - Standart Kalite.pdf.progress.txt.tmp
There is no pdf file on the location I chose, which is my desktop.
Thanks in advance.