Inspiration

NGOs find it difficult to access funding — not because their work lacks merit, but because they lack capacity. Most small nonprofits have no grant writer on staff, no time to research hundreds of funding opportunities, and no way to produce the polished, evidence-based proposals that funders demand. A single grant application can take weeks of work for a two-person team already stretched thin doing the actual mission. We watched a Los Angeles-based affordable housing nonprofit spend three weeks writing a proposal, only to realize it was targeted at the wrong funder. That story repeats itself across thousands of NGOs worldwide. We built ImpactLink AI to end it — giving every NGO, regardless of size or budget, the grant intelligence of a seasoned development professional.

What it does

ImpactLink AI is an end-to-end grant intelligence platform that covers the full funding workflow:

Upload & Parse — NGOs upload an existing proposal or one-pager. AI extracts structured metadata: mission, cause area, SDGs, target beneficiaries, geographic focus, and budget context. Semantic Grant Matching — A two-stage retrieval system embeds the proposal and retrieves candidates from a vector database, then an LLM re-ranks results for real eligibility fit — not just keyword overlap — with location given priority weight. AI Draft Assistant — Streams a full 7-section grant proposal in real time, tailored to the specific funder. Each section follows expert grant-writing structure with auto-generated tables for KPIs, budget breakdowns, and activity plans. Guided Build Flow — A conversational builder walks NGOs through 7 plain-English questions and drafts each section live as they answer, so no blank page is ever faced. Live Draft Scoring — After drafting, the proposal is re-scored specifically against the target grant — checking whether the draft mirrors the funder's language, priorities, and requirements — with sub-scores for clarity, impact, budget, and locality. Budget Builder — AI-generated line-item budgets with geographic cost context and PDF export. NGO Collaborator Matching — Finds mission-aligned partner organizations for joint applications, prioritizing geographic proximity so suggestions are actually actionable. Agentic Grant Search — A semantic search bar lets users type any topic ("affordable housing LA", "youth mental health Kenya") and the AI finds the top matching grants — no keyword matching required.

How we built it

LayerStackFrontendReact, react-router-dom, custom dark-theme design system, jsPDFBackendFastAPI (Python), async streaming endpointsLLMGroq — llama-3.3-70b-versatileEmbeddingssentence-transformers all-MiniLM-L6-v2Vector DBChromaDB with cosine similarity, two-stage retrieval + LLM re-rankingAgent frameworkLangChain + LangChain-Groq with Pydantic structured output

Every AI feature is a dedicated agent with its own prompt, structured output schema, and error handling. The draft agent encodes expert grant-writing best practices directly in the system prompt — word targets, section structure, equity framing, and fatal error avoidance rules. The scoring agent switches between a general rubric and a grant-aware rubric depending on context.

Challenges we ran into

Grant data: Publicly accessible, machine-readable grant databases are surprisingly rare. We built a curated enriched dataset from scratch, normalizing inconsistent fields, stripping HTML from descriptions, and constructing embeddings for the full corpus. Vector search quality: Pure cosine similarity returned geographically mismatched grants. We added a location boost layer — cross-referencing proposal geography against grant title, agency, and description — and saw immediate improvement in relevance. LLM structured output reliability: Getting the re-ranking LLM to return exactly one JSON object per grant with the exact grant_id required multiple prompt iterations and fallback handling for every agent. Streaming + state management: Keeping 7 proposal sections, per-section approval states, edit states, and save states in sync across a streaming backend required careful architecture. We persist state in sessionStorage so users never lose work mid-session. Draft editor load state: When loading a saved draft, the editor needed to know it was in "completed" state without re-streaming. We built a load() function in the draft hook that pre-populates all section state and sets done=true, bypassing streaming entirely.

Accomplishments that we're proud of

A fully working end-to-end pipeline — upload a proposal, get matched grants, draft a tailored 15-page proposal, score it against the funder, build a budget, and export a PDF — all in one session. Grant-aware re-scoring that distinguishes between a generic well-written proposal and one specifically tailored to a funder. This is a real signal funders use. The guided build flow producing professional grant language from plain-English answers, with real markdown tables for KPIs, budgets, and activity matrices. Location-priority collaborator matching — a small change that makes co-funding suggestions actually usable for local NGOs. Zero blank-page anxiety — an NGO with no grant-writing experience answers 7 questions and walks away with a fundable proposal.

What we learned

Prompt engineering is the product. The quality difference between a mediocre and a fundable grant draft comes entirely from the instructions — word targets, structural rules, equity framing guidance, and explicit fatal-error avoidance baked into every system prompt. LLM re-ranking beats pure vector search for structured domains. Embeddings find related documents; the LLM catches hard eligibility rules (geographic restrictions, award size mismatches, mission drift) that cosine similarity misses entirely. State persistence is a UX feature, not an afterthought. Users lose trust the moment their work disappears on navigation. Persistent state across the full session was essential to making the product feel reliable. Small NGOs don't need more tools — they need fewer, better ones. Every feature had to earn its place by directly reducing time-to-submission for an under-resourced team.

What's next for ImpactLink AI`

NGO Co-Funding Marketplace — NGOs publish AI-built campaigns and invite peer organizations to pool resources toward shared goals. Architecture is fully designed and ready to ship. Live grant database — Integration with Grants.gov, Foundation Directory, and UNHCR funding portals to keep the grant database current and expanding globally. Multi-language support — Many of the NGOs who need this most work in French, Spanish, Arabic, and Swahili. Proposal drafting in local languages is the highest-impact next feature. Impact reporting — After funding, NGOs report outcomes against their original KPI tables, closing the loop for funders and building a credibility record for future applications. Funder portal — Foundations and government agencies browse vetted NGO proposals, filter by SDG and geography, and contact organizations directly — turning ImpactLink into a two-sided marketplace.

Built With

Share this project:

Updates