What If Your PDFs Could Talk? Building Search That Understands
- João Sousa
- 1 day ago
- 6 min read
How OutSystems, AI Agents and Azure AI can turn a mess of documents into meaningful search experiences?
We’ve all been there: surrounded by folders stuffed with scanned PDFs, eBooks, research articles, and loose files. Some are named sensibly, others are called scan_0001.pdf or document_final_final_v2.pdf. They’re spread across devices and cloud drives. And when you need something specific — fast — it becomes a digital treasure hunt.
That’s the inspiration behind Bookshelf AI — a white-labeled concept based on a real customer challenge we tackled recently. While this version is fictionalized for demo purposes, the problem it addresses — and the AI techniques behind it — are very real.

📚 The Real Problem
This isn’t just a theoretical scenario — it’s a reality for teams and organizations across industries.
Whether it’s a legal department with case files, an HR team managing policy documents, or a field services unit archiving reports and forms, unstructured content is everywhere. And most of it is… a mess.
Here’s what we typically find:
PDFs without metadata — No title, no author, no creation date. Just a filename like Final_Report_Updated_(1).pdf.
Scanned documents — Often saved as images inside PDFs, making them invisible to traditional text-based search engines.
Inconsistent naming conventions — Some files are human-readable; others look like machine-generated gibberish (scan_2045_a21.pdf).
Disorganized storage — Files scattered across email attachments, network drives, cloud shares, and personal folders.
No common taxonomy — What one person labels “proposal,” another calls “brief,” and another “slide deck.”
When someone needs to find a specific document — or worse, verify if a document exists at all — it can mean opening dozens of files manually, skimming pages, and trying to guess the intent behind the filename.
This kind of manual search doesn’t just waste time — it introduces risk. Missed insights, duplicate work, wrong versions, and non-compliance can all result from an inability to find and trust your documents.
And while keyword search is a helpful starting point, it falls short when:
Words in the document don’t match the user’s query
The user doesn’t know exactly what terms to use
Context and meaning matter more than literal strings
In short: manual organization doesn’t scale, and traditional search doesn’t understand.
That’s why we need a smarter, more intuitive approach — one that sees what’s in a document the way a human would, but works at machine speed and scale.
💡 The Approach: Think Like a Human, Scale Like a Machine
When we considered how to solve this challenge, we asked ourselves:
“What would a highly organized person do?”
They’d open each file, read through the content, mentally classify what it’s about, and then label it with a meaningful title and summary. They’d probably file it neatly under a relevant category and make it easy to search later.
The good news? That’s now something AI can do — at scale.
The approach we took in this prototype (Bookshelf AI) mimics this behavior using a combination of LLMs (Large Language Models) and semantic vector indexing. It works like this:
1. Centralize all documents in one place — no matter how messy they are.
2. Use AI to read and understand each file — even scans and unstructured documents, with the help of OCR (Optical Character Recognition).
3. Extract key metadata — not just filename and size, but human-like labels:
Title
Author
Document type (based on content themes or topics)
Year (estimated or extracted)
4. Format the output as structured JSON — ready to be indexed or stored.
5. Expose all of this through a clean, OutSystems-powered UI — searchable by natural language, not technical filters.
What makes this powerful is the shift in thinking:
From “Where is this exact word in this exact file?”
To “Which documents are most likely to be relevant to this idea I’m expressing?”
This approach reduces reliance on rigid structure, replaces manual tagging, and empowers users to ask questions the way they naturally would — without needing to guess the “right” keywords.
It’s AI behaving like an efficient assistant who’s already read everything, knows what matters, and can surface it in seconds.
🛠️ Behind the Scenes: OutSystems + Azure AI
The magic may seem invisible to the user — but under the hood, a well-orchestrated system of AI services and low-code logic brings it all to life.
To build the Bookshelf AI prototype, we combined the best of both worlds:
Azure OpenAI for deep document understanding
Azure Cognitive Services (OCR) for extracting text from scanned files

Vector indexing for similarity-based search
OutSystems as the low-code backbone that ties it all together
AI Models configured in OutSystems to support an agent that interacts with the GPT 4o (in this case)

Here’s how it works in practice:
Document Ingestion
Files are uploaded or dropped into a central folder — Azure blob storage in this example.
Preprocessing and OCR
For scanned documents or images wrapped in PDFs, Azure Cognitive Services OCR extracts readable text. This step ensures that even “dumb” scans become usable by the AI.
Document Interpretation with GPT
Each document’s content is passed to an LLM (via Azure OpenAI), using a structured prompt.

The AI acts like a librarian, returning a response in JSON format:

Embedding for Semantic Search
The content is also embedded into a high-dimensional vector space, which allows it to be searched based on meaning rather than exact words. This enables queries like:
“Articles about decision-making biases” — even if those exact words never appear in the file.
OutSystems + AI Models
On the front end, users get a clean, fast, and flexible interface built entirely in OutSystems, seamlessly integrated with the model configured in ODC AI Models. They can search naturally, filter results, preview document summaries, and open files — all without needing to know where anything is stored. But they can do more than search. They can talk to their data!
Thanks to AI Models, users can ask questions in plain language — like “What trends appear in 2023 reports?” or “Summarize all files related to stress management.”. The agent understands the intent, combs through the indexed content, and responds like a smart assistant who’s already read everything.

It’s not just about retrieving documents anymore.
It’s about unlocking insights — conversationally, contextually, and instantly.
This system is scalable, repeatable, and adaptable.
And while Bookshelf AI is a fictional wrapper, the underlying architecture is already solving real problems for real teams.
⚙️ Why OutSystems Works Well Here
Behind every intelligent experience is a lot of plumbing. File detection, data transformation, API calls, data binding, UX refinement — none of it is glamorous, but all of it matters.
This is where OutSystems shines — not just as a low-code platform, but as a high-productivity, enterprise-grade foundation for AI-infused applications.
OutSystems plays a critical role by:
Orchestrating the document ingestion pipeline
Detecting new files, triggering AI workflows, managing state, and storing outputs — all handled through visual logic and automated processes.
Integrating seamlessly with Azure AI services
Whether it’s calling Azure OpenAI for content understanding or Cognitive Services for OCR, these integrations are built quickly and securely via standard or custom connectors and REST APIs.
Delivering a rich, adaptive front-end experience
Customizable UI components allow you to build dynamic search interfaces, filter controls, previews, and chat-style interactions with the AI agent — all visually, without reinventing the wheel.
Supporting rapid iteration
Need to tweak how metadata is extracted? Add new document types? Change how results are ranked? OutSystems enables fast adjustments — even in live environments — without breaking the flow.
The OutSystems platform lets small teams deliver complex, AI-powered capabilities with enterprise scalability.
🧭 Final Thoughts
The demo may have been fictional but the problem? Very real.
The solution? Entirely achievable — right now.
What began as a white-labeled concept inspired by a customer challenge quickly evolved into something more: a blueprint for how developers and teams can use AI to unlock the value trapped inside unstructured content.
You don’t need a fleet of data scientists or a year-long transformation program. You need a starting point, the right platform, and a willingness to rethink what “search” should feel like. Start with that folder of PDFs no one wants to touch. Let AI read, understand, and organize it.
Give your users a search box that speaks their language and watch the experience go from frustrating… to intuitive.
With OutSystems as your delivery engine, and Azure AI as your intelligence layer, you’re not just building apps — you’re building interfaces to understanding.
Let’s stop searching. Let’s start finding!
Note from the writer
This article marks the end of my first exploratory cycle in AI — a journey that started with curiosity, grew through experimentation, and culminated in both a live customer implementation and a talk at OutSystems Developer Days.
But this is just the surface.
The experience taught me that AI isn’t a single solution or feature — it’s a shift in how we build, think, and deliver value. From here, the questions get bigger, the use cases more ambitious, and the possibilities even more exciting.
So while this cycle closes, the real work — and real impact — starts now!
Comentarios