Digital agency · Netherlands / global
Turning a document archive into something you can ask questions of.
Client name withheld under NDA.
The problem
A global digital agency needed unstructured client documents, thousands of PDFs across engagements, to be queryable by internal teams, with strict scoping so that a query never surfaces material from a client the user shouldn't see.
What we built
- Python/FastAPI processing service on Cloud Run
- PDF ingestion into Vertex AI RAG corpora
- Scope metadata filtering enforced at retrieval
- Event-driven orchestration via Pub/Sub and EventArc
- BigQuery layer for pipeline analytics
Architecture notes
Ingestion is fully event-driven: a document landing in storage triggers processing without polling, which keeps cost proportional to volume rather than to uptime. Scope metadata is attached at ingestion and enforced at retrieval, so permission boundaries are a property of the corpus rather than a filter the calling application has to remember to apply. The service runs stateless on Cloud Run and scales to zero.
Outcome
In production. Ongoing engagement, ~120 hours monthly.