A sprawling document archive is only as useful as your ability to find things in it. This tool indexes the whole collection — text and scanned images alike — and puts a fast search interface in front of it.
Screenshot — pending
DenkraumNavigator is a file indexing and search system for a large document archive. It walks a directory of mixed document formats, extracts and indexes their content, and exposes a web search interface so you can quickly find and browse archived files. The point is to make a collection that is too big and too varied to navigate by hand searchable and discoverable — including the text locked inside scanned, image-based documents.
It is a Flask web application built around a few clear parts: the app itself (routes, logic, configuration), a database access layer over an on-disk index, and a multi-threaded indexer that walks the archive and populates that index. The interface is rendered from server-side templates with static assets, thumbnails are generated and cached for visual browsing, and the index is backed up automatically. A test suite covers the core, and the app even keeps its own goals, to-dos, and learnings as editable, tracked pages — documentation that lives inside the running tool.
The feature set is practical: multi-threaded indexing across many formats — PDF, Word, Excel, PowerPoint, plain text and more — with OCR pulling text out of images via Tesseract; a web search interface with advanced filtering and sorting; real-time indexing-progress monitoring; thumbnail generation for browsing; and automatic database backup and recovery. The stack is Python and Flask over a SQLite index, with server-side templates and a plain HTML/CSS/JavaScript front end, tested with pytest and served in production behind Gunicorn. A high release cadence — the changelog has reached version 7.8 — marks it as a working, deployed application rather than a prototype.