Meridian RAG: knowledge that answers back
How a 35-person consultancy stopped losing hours in SharePoint and started getting cited answers in Slack.
Duration
14 weeks
Team
2 engineers · 1 designer part-time
Stack
Python · OpenAI · pgvector · Next.js · Azure
The client had eight years of project memory locked in SharePoint folders, Confluence pages, and scanned PDF drawings. Senior engineers knew where things lived. Everyone else pinged them on Slack and waited.
We built a private RAG stack over their corpus: hybrid retrieval (vector + keyword), strict role-based access, and answers that always show the source chunk. Ingestion runs on a schedule so new SOPs and drawing packs show up without a manual upload ritual.
Day-to-day use is boring in the best way — a Slack bot and a small web console. Ask “what torque spec did we use on line B?” and get a reply with links, not a scavenger hunt.
Within the first month after go-live, “where is that file?” messages dropped sharply. First useful answer usually lands in under eight seconds. The firm kept their data inside their tenancy; we did not bolt a public chatbot onto confidential partner docs.
Architecture
Sources
SharePoint · Confluence · PDF
Ingest
chunk · embed · ACL tags
Index
pgvector + keyword
Ask
Slack / web
Retrieve
hybrid + filters
Answer
cited response
- Sources→Ingest
- Ingest→Index
- Ask→Retrieve
- Index→Retrieve
- Retrieve→Answer
Timeline · what shipped when
W1–W2
Discovery & data map
- Audited SharePoint / Confluence / PDF packs (~120k pages equivalent)
- Defined ACL model by practice area and partner NDAs
- Chose hybrid retrieval + citation UX
W3–W6
Ingestion & index
- Connectors for SharePoint + Confluence
- PDF drawing OCR / chunking pipeline
- pgvector index + keyword fallback
W7–W10
Assistant & access
- Answer API with source citations
- Slack bot + web console
- SSO + role checks on every query
W11–W14
Pilot & harden
- Pilot with 12 engineers, prompt / eval loop
- Latency tuning (p95 under 8s)
- Runbooks + handoff training
Delivered
- Private RAG service in client Azure tenancy
- Scheduled ingestion jobs + dead-letter monitoring
- Slack bot and internal web console
- Admin ACL panel for practice leads
Impact
- ~70% fewer ‘where is that file?’ Slack pings in pilot team
- Median first useful answer under 8 seconds
- Seniors stopped being the default search engine