Type a topic. Three AIs collaborate. Get a polished research brief.
Come back tomorrow — it remembers everything.
ResearchMind is a multi-model AI pipeline built on the Backboard SDK. It decomposes any research topic into focused subtasks, processes each independently, and synthesizes the findings into a structured research brief — while persisting what you have researched across sessions so it never covers the same ground twice.
Built for the Backboard Challenges Hackathon · May 1–22, 2026
🚀 researchmind-production.railway.app
Input Topic
│
▼
┌─────────────────────────────────────────────────────┐
│ Stage 1 — Planner (Gemini 2.5 Flash) │
│ Reads memory → generates 3–5 focused subtasks │
│ Skips anything already researched in past sessions │
└──────────────────────┬──────────────────────────────┘
│ subtasks[]
▼
┌─────────────────────────────────────────────────────┐
│ Stage 2 — Summarizer (Gemini 2.5 Flash) │
│ Processes each subtask independently │
│ Extracts 5–8 key facts per subtask │
└──────────────────────┬──────────────────────────────┘
│ findings[]
▼
┌─────────────────────────────────────────────────────┐
│ Stage 3 — Synthesizer (Claude Haiku) │
│ Reads all findings │
│ Writes polished research brief with headers │
└──────────────────────┬──────────────────────────────┘
│ brief
▼
Research Brief Output
│
▼
Saved to Planner Cross-Session Memory
| Agent | Model | Responsibility |
|---|---|---|
| Planner | Gemini 2.5 Flash | Decomposes topic into subtasks. Reads memory to avoid repeating past research. |
| Summarizer | Gemini 2.5 Flash | Processes each subtask independently. Returns 5–8 key facts per subtask. |
| Synthesizer | Claude Haiku | Synthesizes all findings into a structured, polished research brief. |
| Feature | Usage |
|---|---|
| Multi-assistant architecture | 3 permanent assistants with distinct system prompts and roles |
| Multi-model routing | Gemini Flash for speed at scale, Claude Haiku for synthesis quality |
| Persistent cross-session memory | Planner stores topic + subtasks + conclusions after every session |
| Cross-thread memory recall | New sessions automatically skip previously covered subtasks |
1. Clone
git clone https://github.com/Amulya631/ResearchMind.git
cd ResearchMind2. Install dependencies
pip install -r requirements.txt3. Configure environment
Create a .env file in the project root:
BACKBOARD_API_KEY=your-backboard-api-key4. Create assistants (run once — idempotent, safe to re-run)
python assistants.py5. Run
python -m streamlit run app.pyResearchMind/
├── app.py Streamlit UI — live stage tracking, memory panel, download
├── assistants.py Creates / reuses the 3 Backboard assistants (idempotent)
├── pipeline.py Core pipeline logic — Planner → Summarizer → Synthesizer
├── requirements.txt Python dependencies
├── .env API key — never committed
└── .gitignore
backboard-sdk>=1.5.0
streamlit>=1.32.0
python-dotenv>=1.0.0
fpdf2>=2.7.0
This is what separates ResearchMind from a standard chatbot.
After every pipeline run, the Planner stores:
- The topic researched
- Every subtask covered
- Key conclusions from the brief
On the next run, the Planner reads this memory before generating subtasks — so it never repeats research. Close the app, restart your machine, come back days later — the context is still there.
MIT License — see LICENSE for full terms.
Copyright © 2026 Batila Amulya
Built with Backboard · Streamlit · Google Gemini · Anthropic Claude
Batila Amulya · GCP Cloud Engineer & Gen AI