Intelligently searching through the Olof Palme archives using an AI powered chat.
We partnered with Spår, one of the largest true-crime podcasts in Sweden, to build an AI system where users can chat with the archives of one of the world's largest murder cases: the assassination of Sweden's prime minister, Olof Palme.

When Spår, one of Sweden's most influential true-crime podcasts, approached us with a new challenge, we immediately sensed the scale of what was coming. Spår has a long history of diving deep into complex criminal cases, uncovering new angles and bringing clarity to stories long thought unsolvable. This time, their mission centred on the Olof Palme murder investigation, arguably the most extensive and debated case in Swedish history.
How can we potentially find previously unknown clues in the archives leveraging AI?
PalmeNet-Chat: an LLM-powered chatbot that can intelligently search, reason, and discuss about the archives.
Let's dive a bit deeper!
A Vast Archive with a Complex History
The material we got our hands on is based on a crowd-sourced initiative called Palmemordsarkivet, led by Mattias Kressmark. The data consisted of thousands of digitalised documents from the murder investigation, each ranging from a handful of pages to hundreds. Together, they contained more than four decades of investigative work: police reports, interviews, handwritten notes, photographs, diagrams, tables, maps, and more. Most of these pages existed only as scans, many of them low-quality and inconsistent in layout or language. This meant the content was not searchable, not structured, and not appropriate for any off-the-shelf AI tool. On top of this, we wanted a solution that is on-premise, with the entire system running on our GPU servers. We opted for this both for privacy and security, but also to challenge ourselves and not rely on larger models.
From Scanned PDFs to a Digital Library
The first challenge was to transform this analogue-style archive into a usable digital format. Traditional OCR tools alone were not enough, because the archive contained far more than simple text. Some pages featured handwritten notes; others included embedded photographs, printed tables, maps, and mixed layouts that varied dramatically across documents.
To overcome this, we built a multi-stage OCR pipeline capable of analysing each page region by region. The system detected where text, images, tables, or maps appeared and then routed those segments through specialised models tailored to their content. This approach allowed us to transcribe text, generate structured image and map descriptions, and extract relevant named entities.

By the end of this phase, the entire archive had been transformed into a clean, structured JSON library; a new digital version of the Palme archives that did exist before.
Searching Across the Archives
With the data now structured, the next step was to make it searchable in a meaningful way. Keyword search alone would fall short, especially in an investigation where crucial information may be phrased differently across documents or buried within long reports.
We built a hybrid semantic search system combining several vector databases, powered by a set of different embedding models. Each model captured different nuances of meaning, and the system additionally used a lightweight language model to generate richer, more targeted search queries. The results from each retrieval path were fused and re-ranked using reciprocal rank fusion (RRF), creating a unified and highly reliable semantic search pipeline that could surface the most relevant information from across the entire dataset. Especially combining a hybrid RAG system, with a multi-query generation, allowed us to start diving deep into tons of information.

Building the Chat Interface
A searchable archive is powerful, but adding a conversational interface on top makes it truly transformative. To make the material accessible to journalists and researchers, we built PalmeNet-Chat, an AI assistant that can answer complex questions about the case using only verified evidence from the archive.
Because the system retrieves many potential matches from the archive, and because everything must run efficiently on-premise, we needed a smarter approach than simply feeding all results into the model. We engineered a streamlined reasoning process in which PalmeNet-Chat first reviews each retrieved passage on its own and judges whether it is genuinely relevant to the user's question. Only the relevant pieces are then distilled into a compact context that the model can handle safely.
This design keeps the chatbot fast and GPU-efficient, while ensuring that every answer remains grounded in the original Palme archive.
The Outcome
PalmeNet-Chat is now a fully local, GPU-efficient AI system that can intelligently explore one of the most complex archives in Sweden's and the world's investigative history. It can connect details across thousands of documents, highlight patterns, and provide grounded, evidence-based explanations - all while keeping the entire process local, secure and private.
For Spår, this opens up new investigative possibilities. For the broader research community, it demonstrates how modern AI techniques can breathe new life into historical and sensitive document collections.
Looking Ahead
This project is more than a technical achievement; it demonstrates how AI can fundamentally change the way we explore and understand large, unstructured archives. By combining advanced OCR techniques, powerful semantic search, and a carefully engineered retrieval-augmented generation pipeline, we've built a system that makes decades of complex investigative material accessible in an entirely new way.
And this is only the beginning. We are continuously expanding and refining the tool, integrating new capabilities and leveraging the rapid progress in modern language models. Together with Spår, and future partners, we hope to uncover insights that have remained hidden in the Palme archives for decades.
If you're interested in our case or in applying similar techniques to your organisation's documents, archives, or internal knowledge, we'd be happy to help explore what is possible.

Tibo Bruneel
Industrial PhD Researcher