Multi-agent research collaboration platform built with Google Gemini & Agent Development Kit
| Features | Installation | Research Paper |
βοΈ Try Live Demo β’ π Read Blog β’ π» Kaggle Notebook β’ π Research Paper
ResearchForge AI is an intelligent multi-agent system that automates the entire research collaboration lifecycle. We transform a process that typically takes researchers months of manual effort into a seamless, minute-long conversation. By coordinating eight specialized AI agents, ResearchForge finds relevant papers, identifies ideal collaborators using ML-powered matching, and generates professional proposals and outreach emailsβall through a natural language interface.
Built for the 5-Day AI Agents Intensive capstone project, it demonstrates advanced Agent-to-Agent (A2A) communication, real-world API integration, and production-ready deployment.
Researchers waste countless hours on the logistics of collaboration instead of doing the research itself. Manually sifting through academic databases, assessing potential partners, and drafting proposals is slow, inefficient, and limits the scale and diversity of potential collaborations.
A sophisticated multi-agent system where each agent has a specialized role:
- DataScout: Finds real papers via live arXiv API
- ProfileBuilder: Constructs structured researcher profiles
- MatchEngine: Uses FAISS + Sentence Transformers for ML-powered matching
- Explainer: Provides clear reasoning behind recommendations
- ProposalGenerator: Creates funding-ready research proposals
- OutreachSpecialist: Drafts personalized collaboration emails
- MemoryCurator: Learns user preferences over time
- QualityEvaluator: Assesses match quality and system performance
An Orchestrator agent intelligently routes requests to the right specialist, enabling complex workflows like: "Search for papers on medical imaging, find me the top 3 collaborators, and draft a proposal."
While ChatGPT is a powerful language model, ResearchForge AI extends its capabilities through real data pipelines, agent-to-agent communication, and ML-powered analysis.
The comparison below highlights the functional differences:
ResearchForge AI operates as a full platform, not just a model prompt.
ChatGPT serves as one component inside a broader, intelligent system.
- Search millions of research papers from arXiv in real-time
- Advanced filtering by category (AI, ML, CV, NLP, Robotics, etc.)
- Instant results with complete metadata (authors, dates, abstracts)
- Direct PDF downloads and arXiv page links
- Intelligent chat interface powered by Google Gemini
- Multi-model fallback system for reliability (gemini-2.0-flash-exp, gemini-2.5-flash-lite, etc.)
- Context-aware conversations with session management
- Markdown-formatted responses with beautiful styling
- Generate comprehensive research proposals in seconds
- Draft professional collaboration emails
- Customizable templates with smart defaults
- Professional formatting and structure
- Beautiful gradient UI with glassmorphism effects
- Responsive design (mobile, tablet, desktop)
- Real-time typing indicators
- Smooth animations and transitions
- Dark mode code blocks with syntax highlighting
Track: Education & Research
Competition: 5-Day AI Agents Intensive Capstone
Course: Google Kaggle AI Agents Intensive
ResearchForge democratizes research collaboration:
Helps researchers at underserved institutions access elite collaboration opportunities
Reduces barriers to international collaboration
Automates tedious logistics so researchers focus on discovery
Accelerates scientific progress through better matching
Multi-Agent Systems: 8 specialized agents + orchestrator
A2A Protocol: Agent-to-agent communication via Google ADK
Real-World Integration: Live arXiv API, not synthetic data
ML-Powered Tools: FAISS vector search + semantic embeddings
Context Engineering: Proactive agent behaviors and memory
Production Deployment: Google Cloud with 100+ concurrent users
Observability: Comprehensive logging and performance metrics
View Complete Implementation on Kaggle β
The notebook includes:
Full agent system code (V1 and V2 implementations)
Interactive demos with real arXiv data
Step-by-step explanations of each agent
Architecture diagrams and visualizations
Performance metrics and validation tests
Context extraction and memory demonstrations
β Please upvote if you find it helpful!
Read our full research paper:
π View Paper Online | π₯ Download PDF
Our paper details:
- Multi-agent system architecture
- Agent-to-Agent (A2A) communication protocol
- ML-powered matching algorithms
- Real-world deployment and performance metrics
- Comparison with traditional approaches
| Layer | Technologies |
|---|---|
| AI Models | Google Gemini 2.0 Flash, Gemini 2.5 Flash Lite |
| Backend | Flask, Google ADK, Python 3.12 |
| Frontend | HTML5, TailwindCSS, Vanilla JavaScript |
| ML/AI Tools | FAISS, SentenceTransformers, arXiv API |
| Deployment | Google Cloud App Engine (optional) |
| Observability | Python logging, structured metrics |
- Python 3.12+
- Google API key for Gemini (Get one here)
- (Optional) Google Cloud account for deployment
- Clone the repository
git clone https://github.com/yourusername/ResearchForge-AI.git
cd ResearchForge-AI- Create virtual environment
python -m venv venv
# On macOS/Linux:
source venv/bin/activate
# On Windows:
venv\Scripts\activate- Install dependencies
pip install -r requirements.txt- Set up environment variables
# Copy template
cp .env.template .env
# Edit .env and add your credentials:
# GOOGLE_API_KEY=your_api_key_here- Run the application
python app.py- Open in browser
http://localhost:8080
# Production mode
export FLASK_ENV=production
gunicorn -w 4 -b 0.0.0.0:8080 app:app-
Install Google Cloud SDK
# macOS brew install google-cloud-sdk # Or download from: https://cloud.google.com/sdk/docs/install
-
Initialize project
gcloud init gcloud config set project YOUR_PROJECT_ID -
Update app.yaml
runtime: python312 env_variables: GOOGLE_API_KEY: "your-api-key"
-
Deploy
gcloud app deploy
-
View your app
gcloud app browse
For detailed deployment instructions, see DEPLOY.md
Create a .env file in the project root:
# Required
GOOGLE_API_KEY=your_google_api_key_here
# Optional
GOOGLE_CLOUD_PROJECT=your_project_id
GOOGLE_CLOUD_LOCATION=us-central1
SECRET_KEY=your_secret_key_for_flask_sessions
PORT=8080| Endpoint | Method | Description |
|---|---|---|
/ |
GET | Main application UI |
/api/search |
POST | Search arXiv papers |
/api/chat |
POST | Chat with AI agents |
/api/export-bibtex |
POST | Export papers to BibTeX |
/api/search-history |
GET | Get search history |
/api/search-history |
POST | Save search |
/api/search-history |
DELETE | Clear history |
/api/health |
GET | Health check |
/api/agent-status |
GET | Agent status |
- Search Papers: Enter keywords like "quantum computing" or "deep learning"
- Chat with AI: Ask questions like:
- "Find papers about medical imaging AI"
- "Generate a research proposal for climate change"
- "Draft a collaboration email for my project"
Search Papers:
curl -X POST http://localhost:8080/api/search \
-H "Content-Type: application/json" \
-d '{
"query": "transformer models",
"category": "cs.CL",
"max_results": 5
}'Chat with Agent:
curl -X POST http://localhost:8080/api/chat \
-H "Content-Type: application/json" \
-d '{
"message": "Find recent papers on reinforcement learning",
"session_id": "user-123"
}'Example: Export to BibTeX
curl -X POST http://localhost:8080/api/export-bibtex \\
-H "Content-Type: application/json" \\
-d '{
"papers": [
{
"title": "Attention Is All You Need",
"authors": ["Vaswani et al."],
"arxiv_id": "1706.03762",
"published": "2017-06-12",
"abstract": "The dominant sequence transduction models..."
}
]
}'
ResearchForge-AI/
βββ main.py # Flask app with search history API
βββ agent.py # 8 agents + BibTeX export
βββ chat_interface.py # Session management
βββ requirements.txt # Python dependencies
βββ .env.template # Environment template
βββ .gitignore # Git ignore rules
β
βββ templates/
β βββ index.html # UI with export & history
β
βββ static/
β βββ images/
β β βββ screenshots/ # App screenshots
β β β βββ hero_section.png
β β β βββ chat_interface.png
β β β βββ search_export.png
β β βββ System_Infographics.png
β β βββ ResearchForge_Diagram_dark.png
β βββ css/
β β βββ agent-dashboard.css # Gradient animations
β βββ js/
β βββ app.js # Export & history logic
β
βββ docs/
β βββ DEPLOY.md
β βββ CONTRIBUTING.md
β
βββ README.md
# Test agent functionality
python test_agent.py
# Test API endpoints
python -m pytest tests/Try these in the chat interface:
- "Find papers about transformer models in NLP"
- "Generate a proposal for AI in education"
- "Draft an email for my healthcare AI project"
We welcome contributions! Here's how to get started:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
See CONTRIBUTING.md for detailed guidelines.
- API Rate Limits: Free Gemini API has rate limits; multi-model fallback helps
- arXiv Scope: Only searches arXiv (not all academic databases)
- Session Persistence: In-memory sessions (lost on restart)
See Issues for planned improvements.
- Paper Search: < 2 seconds (arXiv API)
- AI Response: 2-5 seconds (Gemini API)
- Proposal Generation: < 3 seconds
- Concurrent Users: 100+ (with gunicorn)
This project is licensed under the MIT License - see the LICENSE file for details.
- Google AI for the 5-Day Agents Intensive course
- Google Gemini team for the incredible AI capabilities
- arXiv.org for providing open access to research papers
- Semantic Scholar for researcher data APIs
Built by Assia, Ariamehr and Chukwuebuka for the Agents Intensive Capstone Project
- Track: Agents for Good
- Course: 5-Day AI Agents Intensive (November 2025)
- GitHub: @tuba89 | @Ariamehr-Maleki | @ExploHealth
Assia Benkedia -
- LinkedIn: Assia Benkedia
Chukwuebuka Okeke -
- LinkedIn: Chukwuebuka Okeke
Ariamehr Maleki -
- LinkedIn: Ariamehr Maleki
β If you find this project useful, please consider giving it a star!
Made with β€οΈ and βοΈ using Google Gemini & Agent Development Kit





