Open-source AI co-pilot for nonprofits writing grant applications.
grant-assistant-oss is a developer-friendly toolkit and CLI that helps nonprofits, social enterprises, and CSR teams draft grant applications faster and better — using LLMs that understand donor-specific frameworks instead of producing generic text.
It is built and maintained by contributors from CSR Community, an initiative supporting nonprofit and social-impact organisations across Eastern Europe.
Funders increasingly use AI to screen incoming applications for alignment, evidence of impact, and methodological rigor. As a result:
- Generic "ChatGPT copy-paste" applications are systematically filtered out.
- Small NGOs without dedicated grant writers fall behind larger, well-resourced organisations.
- The same Theory-of-Change, logframe, and M&E plan get re-written from scratch for every donor.
Existing AI-grant-writing tools are closed-source, expensive, and English-only — exactly the audience-funding mismatch that public-interest software should fix.
grant-assistant-oss is the open alternative. It is:
- Donor-aware — built around the actual application schemas of EU Horizon, USAID, House of Europe, Google.org, EBRD, UN agencies and other public funders.
- Multi-language by default — English, Ukrainian, Polish, Russian.
- AI-assisted, not AI-replaced — humans stay in the loop; the tool produces structured drafts, not finished applications.
- Reusable — every donor template is a YAML file that the community can audit, fork, and improve.
| Audience | What you get |
|---|---|
| Nonprofits & NGOs | Faster, donor-aligned drafts; reusable Theory-of-Change and logframe scaffolding. |
| Corporate CSR teams | The match command suggests grant programmes that fit a planned CSR initiative — useful when looking for co-funding or NGO partners. |
| Researchers & academic teams | Structured project narratives for science-policy and innovation grants. |
| Developers | A clean, hackable Python library you can embed in your own nonprofit tooling. |
Status: alpha. The interfaces below are stable in intent but evolving in implementation.
Install (editable, from source):
git clone https://github.com/abondarev-guru/grant-assistant-oss.git
cd grant-assistant-oss
pip install -e .
export OPENAI_API_KEY=sk-... # or ANTHROPIC_API_KEYDraft a grant application from a short brief:
grant-assistant draft \
--donor house-of-europe \
--brief examples/brief-edu-initiative.md \
--language uk \
--output drafts/hoe-edu-2026.mdMatch an existing CSR project to relevant funders:
grant-assistant match \
--project examples/csr-project-mentorship.md \
--top 5Generate a stand-alone logframe / Theory of Change from a problem statement:
grant-assistant logframe \
--problem "Rural youth in Eastern Europe lack access to digital skills training" \
--output drafts/logframe.md ┌──────────────────────────┐
brief.md ─────► │ Donor Adapter │ ──► structured intent (JSON)
│ (eu-horizon, usaid, ...) │
└────────────┬─────────────┘
│
▼
┌──────────────────────────┐
│ Section Planners │
│ problem · TOC · logframe │
│ budget · M&E · sustain. │
└────────────┬─────────────┘
│
▼
┌──────────────────────────┐
│ LLM Refinement Layer │ ◄── donor style guide
│ (OpenAI / Anthropic) │ ◄── language pack
└────────────┬─────────────┘
│
▼
┌──────────────────────────┐
│ Output Composer │ ──► .md / .docx / .pdf
└──────────────────────────┘
Each donor adapter is a YAML+Python pair describing:
- Required sections and word limits
- Eligibility checks
- Style and tone guide (extracted from public funder guidance)
- A scoring rubric mirroring the funder's published evaluation criteria
See src/grant_assistant/donors/ for the current adapters.
See ROADMAP.md for the full picture. Short version:
- v0.1 (current) — CLI scaffold, two donor adapters (House of Europe, generic EU project), English drafts.
- v0.2 — Ukrainian + Polish output,
matchcommand, logframe generator. - v0.3 —
scorecommand (self-evaluation against donor rubric), 6+ donor adapters. - v0.4 — Web UI for non-technical users, integration with Google Docs.
- v1.0 — Stable API, multi-donor batch mode, audit-trail export.
We want contributors of three kinds:
- Grant writers and program officers — even if you don't code, you can contribute donor templates and style guides (see
docs/contributing-templates.md). - Python developers — pick up any
good-first-issueticket. - Nonprofits piloting the tool — open a feedback issue describing what worked and what did not.
Read CONTRIBUTING.md before opening a PR.
MIT. Use it, fork it, ship it. If your nonprofit benefits from this tool, an attribution back to the project helps other organisations find it.
- The CSR Community network of nonprofits and social-impact teams in Eastern Europe.
- The GitHub Social Impact Digital Public Goods guidance.
- All contributors who submit donor templates — these are the most valuable asset in the project.