•Federal solicitations turn on exact identifiers — clause numbers, CLINs, section references. Pure semantic search kept missing them, which is the reason this system is hybrid rather than dense-only.
•A production RAG pipeline over Qdrant fuses dense embeddings (text-embedding-3-large, 3072 dimensions) with BM25 sparse retrieval using Reciprocal Rank Fusion at k=60. I chose hybrid after watching semantic search repeatedly miss the exact identifiers the documents hinge on.
•Claude, GPT-4o and Gemini sit behind a unified layer with per-model token and cost accounting. Opportunity sourcing is agentic: SAM.gov via MCP tools driven by a Claude tool-use loop, alongside the HigherGov REST feed.
•I built an evaluation subsystem for A/B model judgments and weighted rubric scoring across writing quality, completeness and accuracy, surfacing win-rate and tie analytics. Prompt and model changes get compared on results instead of intuition.
•React SPA, an Express API with 162 endpoints across 33 data models, and a Python retrieval service. SSE-streamed drafting, real-time collaborative DOCX editing over Socket.IO, 442 automated tests, and CI/CD to Oracle Cloud through GitHub Actions, pm2, Nginx and a Dockerized OnlyOffice.
Key Features
•Dense and sparse retrieval, fused with Reciprocal Rank Fusion
•Three model providers behind one accounted layer
•Agentic opportunity sourcing over SAM.gov via MCP
•Model choices decided by measurement, not intuition
•Real-time collaborative DOCX editing over Socket.IO