AI-powered grant assistant that helps nonprofits access government funding more easily.
Many community organizations drive real social impact but lack the time or resources to navigate complex grant portals. Grantly generates tailored application responses from your nonprofit's profile, automatically fills official grant forms, and lets you securely review and submit the final application. Our goal isn't to replace human effort but to augment impact by freeing small organizations to focus on service delivery instead of paperwork.
Support vulnerable and under-resourced groups through better funding access, strengthening financial resilience of community organizations.
- Grant Discovery: Intelligent matching of grant opportunities to your organization's profile and mission
- AI-Powered Draft Generation: Google Gemini generates tailored application responses from your nonprofit profile
- Automated Form Filling: Browserbase cloud browser automation prefills official grant forms with generated responses
- Review & Edit Workspace: Secure review interface to refine AI-generated answers before submission
- Application Tracking: Monitor application status and manage multiple grant submissions
- Organization Profile Management: Centralized profile that powers all grant applications
- Framework: FastAPI (Python)
- AI Integration: Google Gemini for draft generation
- Automation: Browserbase + Playwright for form filling
- Database: Supabase (PostgreSQL) for user data and organization profiles
- PDF Processing: pypdf for extracting grant application text
- Framework: React 18 with TypeScript
- Build Tool: Vite
- State Management: React Context API
- UI: Tailwind CSS with custom design system
- Python 3.11+
- Node.js 18+ and pnpm
- Supabase account
- Browserbase API key
- Google Gemini API key
-
Clone the repository
git clone <repository-url> cd Grantly
-
Install backend dependencies
cd server python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt
-
Install frontend dependencies
cd ../client pnpm install -
Configure environment variables
Create
server/.env:SUPABASE_URL=your_supabase_project_url SUPABASE_KEY=your_supabase_service_role_key GEMINI_API_KEY=your_gemini_api_key BROWSERBASE_API_KEY=your_browserbase_api_key BROWSERBASE_PROJECT_ID=your_browserbase_project_id
Create
client/.env:VITE_SUPABASE_URL=your_supabase_project_url VITE_SUPABASE_ANON_KEY=your_supabase_anon_key VITE_API_BASE_URL=http://localhost:8000
-
Set up database
Run the SQL schema in your Supabase SQL Editor (see
QUICK_START.mdfor full schema). -
Start the application
Terminal 1 - Backend:
cd server source venv/bin/activate uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
Terminal 2 - Frontend:
cd client pnpm run dev -
Access the application
- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
- Create Profile: Set up your nonprofit organization profile with mission, programs, and key details
- Discover Grants: Browse matched grant opportunities based on your profile
- Generate Draft: AI creates tailored application responses from your profile and the grant PDF
- Review & Edit: Refine AI-generated answers in the review workspace
- Auto-Fill Forms: Browserbase automatically fills the official grant portal forms
- Submit: Review the prefilled form and submit your application
- JWT-based authentication via Supabase
- Row Level Security (RLS) for database access control
- Environment variables for sensitive credentials
- User data isolation (users only access their own data)
- Quick Start Guide:
QUICK_START.md- Detailed setup instructions - API Documentation: Available at
/docswhen backend is running - Changes Log:
CHANGES.md- Recent updates and improvements
This project is designed to support community organizations. Contributions that improve accessibility, reduce complexity, or enhance the grant application process are welcome.
[Add your license here]
Built with ❤️ to help nonprofits focus on what matters: serving their communities.