AI-powered platform for finding and applying to grants - empowering all through accessible grant opportunities.
The AI Grant Assistant helps students and individuals discover grant opportunities that match their unique profile, educational background, and goals. The platform simplifies the grant search and application process through intelligent matching and automated document preparation.
- Smart Matching: AI-powered grant matching based on your profile
- Easy Onboarding: Multi-step profile creation with autosave
- Grant Dashboard: View your top matched grants with explanations
- Application Support: Automated packet generation for grant applications
- Secure & Private: Your data is encrypted and never sold
ai-grant-assistant/
├── backend/ # FastAPI backend
│ ├── main.py # API entry point with /ping endpoint
│ └── requirements.txt
├── frontend/ # Next.js frontend
│ ├── app/ # Next.js app directory
│ │ ├── page.tsx # Home page
│ │ └── layout.tsx
│ └── package.json
├── docs/ # Documentation
│ ├── onboarding_flow.md
│ └── security-privacy.md
└── README.md
- Python 3.9+ for backend
- Node.js 18+ and npm for frontend
-
Navigate to backend directory
cd backend -
Create a virtual environment (recommended)
python -m venv venv # On Windows: venv\Scripts\activate # On macOS/Linux: source venv/bin/activate
-
Install dependencies
pip install -r requirements.txt
-
Set up environment variables
cp .env.example .env # Edit .env with your configuration (optional for basic setup) -
Run the backend server
uvicorn main:app --reload --host 0.0.0.0 --port 8000
The backend API will be available at: http://localhost:8000
API documentation: http://localhost:8000/docs
-
Navigate to frontend directory (in a new terminal)
cd frontend -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env.local # The default values should work for local development -
Run the development server
npm run dev
The frontend will be available at: http://localhost:3000
-
Test the backend: Visit http://localhost:8000/ping
- You should see:
{"message": "pong"}
- You should see:
-
Test the frontend: Visit http://localhost:3000
- You should see the AI Grant Assistant home page
- Auto-reload: The server automatically reloads when you change code
- API Docs: FastAPI provides automatic interactive docs at
/docs - CORS: Configured to allow requests from
http://localhost:3000
- Hot Reload: Changes appear instantly in the browser
- TypeScript: Full TypeScript support for type safety
- CSS Modules: Scoped styling with
.module.cssfiles
BACKEND_URL=http://localhost:8000
NEXT_PUBLIC_BACKEND_URL=http://localhost:8000
The NEXT_PUBLIC_ prefix makes the variable available in the browser.
- Onboarding Flow: User onboarding process details
- Security & Privacy: Security practices and privacy policy
- FastAPI: Modern, fast Python web framework
- Uvicorn: ASGI server for running FastAPI
- Python 3.9+: Programming language
- Next.js 15: React framework with App Router
- React 18: UI library
- TypeScript: Type-safe JavaScript
- CSS Modules: Scoped component styling
GET /ping: Health check endpoint- Returns:
{"message": "pong"}
- Returns:
POST /profiles: Create user profileGET /profiles/{id}: Get user profileGET /grants: List available grantsGET /profiles/{id}/matches: Get matched grants for userPOST /packets: Generate application packet
Contributions are welcome! Please ensure your code:
- Follows existing code style
- Includes helpful comments for beginners
- Is tested before submission
[Add your license here]
For questions or issues:
- Open an issue on GitHub
- Check the documentation in
/docs
Built with ❤️ for grant seekers everywhere