AI recruitment middleware that connects Salesforce to vector search

Recruiters drown in résumés

Keyword search misses strong fits. Manual review does not scale. We built AI-powered recruitment automation—middleware that sits between a Salesforce ATS and modern AI retrieval.

Full project breakdown →

Pipeline overview

Salesforce webhook → FastAPI gateway → Embedding service → Pinecone query → Ranked matches → Proposal draft

MatchingService, OpenAIService, VectorDBService, and DocumentProcessor compose the core—each tunable without redeploying the whole stack.

Technical choices

| Component | Role | |-----------|------| | Azure OpenAI (gpt-4.1, text-embedding-3-small) | Embeddings and proposal text | | Pinecone | Vector store for résumés and job descriptions | | SQLite + SQLAlchemy | Operational state and assistant instructions | | FastAPI + Uvicorn | Fully async, high-concurrency API | | Docker | Cloud-ready deployment |

Matching blends semantic similarity with business rules: skills, experience, geography, compensation, and availability.

Why middleware beats monolith

Recruiters keep Salesforce. Engineering keeps AI velocity. A thin, composable layer means you can swap embedding models, tune prompts, and adjust ranking without migrating the ATS.

If you are building similar systems

  • Start with webhook → embed → retrieve → rank as the smallest valuable loop
  • Persist prompt and retrieval config in versioned storage—not hardcoded strings
  • Ship a lightweight ops dashboard early; non-engineers will need to tune behavior

Need help designing AI middleware? Talk to us.