GrantAI
💡 Inspiration
We built GrantAI to lower the barrier to funding for researchers, non-profits, and early-stage founders. Grant writing is often time-consuming and bureaucratic; many great ideas fail to become funded projects because applicants lack the bandwidth or experience to craft competitive proposals. GrantAI combines retrieval and generation to help teams convert ideas into fundable submissions faster.
🛠️ What It Does
- Opportunity Matching: Finds and ranks relevant funding opportunities based on project inputs.
- Draft Generation: Produces tailored proposal drafts, including abstracts, aims, methodological narratives, and budget justifications.
- Supporting Materials: Generates secondary documents like bios/CVs, cover letters, reference letters, and interview preparation guides.
- Interactive Editor: Offers a clean editor UI to review, refine, and export proposals in common submission formats.
- Funder-Aligned Output: Uses retrieval-augmented prompts to inject funder-specific guidance and constraints directly into the outputs.
🏗️ How We Built It
- AI Microservice: Built using Python + FastAPI, with Pydantic handling robust request validation.
- Retrieval Engine: Text embeddings are stored in Chroma paired with a lightweight SQLite backend for local development.
- LLM Adapters: Designed modular connectors for hosted models (the project natively includes Gemini hooks).
- Frontend UI: Built with Next.js + TypeScript + Tailwind to create a responsive proposal editor and seamless workflow UI.
- Integration Services: Powered by Java (Maven) services to handle backend search/matching logic and run automated integration tests.
- Deployment: Containerized with Docker and docker-compose to ensure reproducible local development stacks.
🛑 Challenges We Ran Into
- Ensuring generated text strictly matches funder-specific constraints, such as exact character counts, mandatory section structures, and rigid formatting rules.
- Reducing AI hallucinations while keeping the draft narratives fluent, compelling, and persuasive.
- Designing prompt templates that are flexible enough to accommodate wildly different funder formats.
- Securely handling and isolating sensitive applicant data across multiple microservices.
🎉 Accomplishments That We're Proud Of
- End-to-End Demo: Successfully showcased the complete workflow: Intake → Match → Generate → Edit → Export.
- RAG Pipeline: Built a retrieval-augmented generation pipeline that measurably improves draft relevance and contextual accuracy.
- Local Developer Experience: Created a fully dockerized setup that allows new contributors to spin up the entire stack locally with a single command.
- Smooth Workflow: Implemented a clean frontend editor featuring an inline "edit/accept" workflow for AI-generated content.
🧠 What We Learned
- Retrieval-first prompting dramatically improves alignment with complex funder guidance compared to raw prompting.
- Small, highly focused templates allow for safer, more predictable, and highly testable generation than broad, freeform prompts.
- Iterating closely with real user feedback is absolutely essential to surface hidden edge-case constraints.
- Combining Docker with lightweight local vector stores makes early-stage prototyping incredibly practical and fast.
🚀 What's Next for GrantAI
- Team Collaboration: Add real-time collaborative editing, granular change history, and role-based workspace sharing for teams.
- Workflow Tracking: Integrate interactive deadline calendars, automated email/Slack reminders, and end-to-end submission trackers.
- Intelligence & Formats: Expand the active funder corpus and experiment with model fine-tuning for grant-specific scoring algorithms.
- Seamless Export: Add specialized export templates for major global funders alongside one-click submission helpers.
Built With
- adapters
- chromadb
- docker
- fastapi
- hostedllmapis
- java
- matcher-services
- next.js
- pydantic
- pyproject.toml
- pytest
- python
- scraper
- springboot
- tailwindcss
- typescript