Skip to content
AI Platform / RAG & AgentsGrants & Funding · Client under NDA

GrantMatch — AI Grant Discovery & Proposals

We built GrantMatch, an end-to-end system that automates grant discovery, matching and proposal writing for businesses. It profiles a company by crawling its website and classifying pages with an LLM, discovers relevant grants by scraping funders and extracting structured data, and matches business to grant with a hybrid RAG engine. A LangGraph agent routes across models and tools to generate and edit proposal content. The platform runs as event-driven microservices, delivered for a client under NDA, so it stays anonymous here.

Hybrid RAG
Vector + full-text, fused and reranked
Agentic
LangGraph, multi-tool, multi-model
End-to-end
Discover, match and write
Gallery
The challenge

Problem

Finding the right grants is slow and manual. A business has to comb through hundreds of funders, work out which programmes it is actually eligible for, track deadlines, and then write a tailored proposal for each one. Plain keyword search returns too much noise and still misses grants that are semantically relevant, and eligibility often hinges on details buried in funder pages. The client needed this to run continuously and at scale, not as a one-off search.

The objective

Goal

Automate the full grant lifecycle for a business: build an accurate profile, continuously discover new and recurring grants, match the business to the grants it can realistically win, and help draft the proposals, with matches that are relevant and defensible rather than a wall of keyword hits.

The approach

AI solution

A profile is built by crawling the business site and using an LLM to classify pages and pull out what matters for eligibility. Grants are discovered by scraping funder sites with Playwright and extracting structured fields with an LLM, including recurring grants. Matching runs as hybrid retrieval on MongoDB Atlas: a vector search over embeddings and a full-text search run in parallel, their results are combined with Reciprocal Rank Fusion, a reranker re-scores the top candidates, and an LLM fact-checks each match against the profile so weak or ineligible grants drop out. A LangGraph agent sits on top, routing across OpenAI and Anthropic models and calling tools (text generation, image analysis and generation, and platform APIs) to draft and refine proposal content. Everything is wired together as FastAPI microservices communicating over AWS SQS.

How it works

Workflow

  1. 1Crawl the business website; an LLM classifies pages and extracts the profile
  2. 2Scrape funder sites with Playwright; an LLM extracts structured grant data
  3. 3Embed grants and run vector plus full-text search on MongoDB Atlas
  4. 4Fuse the two result sets with Reciprocal Rank Fusion, then rerank the top candidates
  5. 5An LLM fact-checks each grant against the profile to drop weak matches
  6. 6A LangGraph agent drafts and edits proposal content, calling tools and platform APIs
Under the hood

Model & AI components

  • Hybrid retrieval: MongoDB Atlas vector search + full-text search
  • Reciprocal Rank Fusion to combine the two rankings
  • Reranking and LLM fact-checking of matched grants
  • LLM page classification and structured grant extraction
  • LangGraph agent with multi-model routing (OpenAI + Anthropic) and tools
  • Playwright scraping and PyMuPDF / OCR document processing
Capabilities

Features

  • End-to-end: profile, discover, match and write
  • Semantic and keyword matching, not just keywords
  • Continuous discovery of new and recurring grants
  • Eligibility-aware matches, fact-checked by an LLM
  • Agent-driven proposal drafting and editing
  • Event-driven microservices that scale independently
System design

Architecture

The platform is a set of FastAPI microservices, each owning a domain (profile building, grant discovery, matching, curation and content generation) and communicating over AWS SQS. Grants and embeddings live in MongoDB Atlas, which provides both vector and full-text search. Retrieval combines the two with Reciprocal Rank Fusion, followed by reranking and an LLM fact-check. A separate agent service, built on LangGraph, exposes AI capabilities behind an aggregator API and routes each task to the right model and tool. Services are containerized with Docker.

Experience

Frontend & dashboard

GrantMatch is delivered as an API-first platform: the services expose endpoints for profiling, discovery, matching and content generation, and emit events over SQS, so a product UI can surface matched grants, deadlines and draft proposals per business without the matching logic living in the front end.

Connected

Integrations

  • MongoDB Atlas (vector + full-text search)
  • OpenAI and Anthropic (via LangChain / LangGraph)
  • AWS SQS (event-driven microservices) + boto3
  • Playwright and BeautifulSoup (scraping), PyMuPDF / pdf2image / OCR
In production

Deployment

Each service is a Dockerized FastAPI app, deployed independently and talking over SQS, which lets discovery, matching and generation scale on their own. MongoDB Atlas handles storage and search, and the agent runs as its own service behind an aggregator API.

The build

Tech stack

Retrieval
MongoDB Atlas Vector SearchFull-text searchReciprocal Rank FusionReranking
LLM & agent
LangGraphLangChainOpenAIAnthropic
Ingestion
PlaywrightBeautifulSoupPyMuPDF / OCRsentence-transformers
Platform
FastAPIAWS SQSboto3Docker
Outcomes

Results

Hybrid RAG
Vector + full-text, fused and reranked
Agentic
LangGraph, multi-tool, multi-model
End-to-end
Discover, match and write
Get started

Build something like GrantMatch — AI Grant Discovery & Proposals.

Tell us your workflow and goals. We'll map the highest-leverage AI use case and a clear path to production.