Inspiration

The inspiration for ImpactLink came from observing a painful irony in the non-profit sector: the organizations doing the most critical "boots-on-the-ground" work are often the least equipped to navigate the bureaucratic maze of global funding.

Small NGOs often spend up to 40% of their time manually vetting 50+ page grant PDFs, only to be rejected because of a single eligibility clause buried in an appendix. We wanted to build a "Deep Reasoner" that doesn't just search for keywords, but actually understands the logical constraints of a grant, leveling the playing field for grassroots organizations.

What it does

ImpactLink is an end-to-end, AI-powered ecosystem designed to bridge the gap between grassroots NGOs and global funding. It transforms the traditionally manual, weeks-long grant application process into a streamlined, high-precision workflow:

  • Intelligent Matching: Instead of basic keyword searches, ImpactLink uses a Two-Stage RAG Pipeline. It semantically analyzes an NGO’s project proposal and matches it against a global grant database using a "Deep Reasoner" agent that verifies strict eligibility (e.g., geographic focus, budget ceilings, and mission alignment).
  • NGO Mission Control: A centralized dashboard where organizations can track active applications, save potential funding matches, and manage their project history.
  • AI Draft Assistant: Once a match is found, the assistant "remixes" the NGO’s original project notes into a high-quality, tailored first draft that specifically addresses the unique requirements and tone of the selected funder.
  • Interactive Budget Builder: A built-in financial tool that ensures project costs align with grant limits, helping non-profits structure their finances professionally without needing a dedicated accounting team.

How we built it

We built ImpactLink as a high-precision, two-stage RAG (Retrieval-Augmented Generation) pipeline:

  1. Semantic Ingestion: Instead of traditional recursive character splitting, we used SentenceTransformer to implement Semantic Chunking. This ensures that "Mission," "Budget," and "Eligibility" sections remain logically intact.
  2. The Two-Stage Retriever:
  3. Stage 1 (Recall): Uses ChromaDB and all-MiniLM-L6-v2 embeddings to pull the top 20 potential candidates from our grant database.
  4. Stage 2 (Precision): A "Deep Reasoner" agent powered by Groq (Llama 3.1 8B) performs a strict logical audit. It extracts structured features from the user's proposal and compares them against grant constraints using Pydantic-guaranteed outputs.
  5. The Suite: We wrapped this in a FastAPI backend and a Next.js 15 frontend, adding an Interactive Budget Builder and an AI Draft Assistant to turn a project concept into a submission-ready proposal.

Challenges we ran into

  • Latency vs. Precision: Running a "Deep Reasoner" audit on 20+ grants in real-time is computationally expensive. We optimized this by utilizing Groq's LPU inference, reducing our re-ranking latency from over 100 seconds to under 4 seconds, a 97% improvement.
  • Context Window Management: Grant documents are massive. We had to carefully engineer our semantic splitter to avoid "hallucinations" caused by truncating critical eligibility criteria.
  • Privacy Concerns: NGOs often handle sensitive community data. We designed the architecture to be hardware-agnostic, allowing for local deployment via Ollama for 100% data residency.

Accomplishments that we're proud of

  • 97% Latency Reduction: By optimizing our re-ranking logic and leveraging Groq’s LPU inference, we successfully reduced the deep-reasoning audit time from over 120 seconds to just 3.3 seconds. This makes real-time, complex eligibility checking possible during a live user session.
  • High-Precision Semantic Chunking: We moved beyond arbitrary character limits and implemented Semantic Chaptering using SentenceTransformer. This ensures the AI understands that a "Mission" in the introduction is linked to the "Impact" section in the conclusion, leading to much more accurate matching.
  • End-to-End User Experience: We are proud of building more than just a "technical demo." We created a fully functional Next.js 15 frontend that provides a seamless "Upload-to-Draft" experience, making sophisticated AI accessible to non-technical NGO staff.
  • Privacy-First Design: We successfully architected the system to be hardware-agnostic, supporting Ollama for local deployment. This ensures that NGOs working with sensitive community data can maintain 100% data residency and security.

What we learned

This project taught us that "RAG is not just about retrieval; it's about reasoning." Simply finding similar text isn't enough when thousands of dollars in funding are on the line. We learned how to orchestrate multi-agent workflows where one agent acts as the "searcher" and the other acts as the "skeptical auditor." Most importantly, we learned that AI’s greatest value lies in automating the "boring" paperwork so humans can focus on the "impactful" mission.

What's next for ImpactLink

ImpactLink is just beginning its journey to democratize the funding landscape:

  • Multi-Agent "Mock Reviewer": We plan to implement a secondary "Critique Agent" that simulates a grant reviewer’s perspective, scoring drafts and suggesting improvements before an NGO hits "submit."
  • Automated Grant Scraping: Expanding our data ingestion layer to automatically pull and index live opportunities from grants.gov, the UN, and private foundations.
  • Collaborative Workspaces: Adding multi-user support so that team members from different departments (e.g., Finance and Programs) can collaborate on the same proposal in real-time.
  • Impact Reporting Module: Developing a post-award tool that helps NGOs auto-generate progress reports for their donors by pulling data directly from their internal project logs.
  • Offline-First Mobile App: Creating a lightweight mobile version for field workers in areas with low connectivity to capture project notes and photos that sync to the main proposal builder once online.

Built With

  • chromadb
  • fastapi
  • groq-(llama-3.1-8b-/-3.3-70b)
  • huggingface
  • langchain
  • next.js
  • ollama
  • pydantic
  • react
  • tailwind
Share this project:

Updates