AI-powered startup ideation platform that turns a rough idea into a structured strategy through an interactive multi-agent Q/A workflow.
Startwise guides founders from idea to clarity by combining:
- A modern frontend experience (
Next.js+TypeScript) - A Django API backend for session/state orchestration
- Multi-agent reasoning with Google ADK + A2A
- OpenAI-powered iterative questioning and refinement with Firecrawl-backed research
The core flow is sequential and adaptive: each next question is generated based on the previous user answer.
- Frontend:
Next.js,React,TypeScript,Tailwind,shadcn/ui - Backend:
Django,Python - Agent Runtime:
google-adk,a2a-sdk,uvicorn - LLM Provider:
OpenRoutervia LiteLLM (meta-llama/llama-3.3-70b-instruct:free)
Startwise/
├─ frontend/ # Next.js application
├─ backend/ # Django + ADK/A2A agent services
│ ├─ ideation/
│ │ ├─ agents/ # Question / Research / Formulator agents
│ │ └─ services/ # A2A client + orchestration logic
│ └─ manage.py
└─ README.md
- User submits business idea in frontend.
- Django initializes ideation session.
QuestionAgentrefines context (sync).ResearchAgentproduces strategic notes (streaming/SSE mode).FormulatorAgentgenerates one next question.- User answers, and answer quality is evaluated.
- Loop continues until completion criteria is met, then summary is generated.
From backend/:
uv pip install -r requirements.txtCreate env:
cp .env.example .envRequired env values:
OPENROUTER_API_KEY=<your_openrouter_api_key>QUESTION_AGENT_MODEL=meta-llama/llama-3.3-70b-instruct:freeRESEARCH_AGENT_MODEL=meta-llama/llama-3.3-70b-instruct:freeFORMULATOR_AGENT_MODEL=meta-llama/llama-3.3-70b-instruct:free
From backend/, in separate terminals:
uv run python -m ideation.agents.question_agent
uv run python -m ideation.agents.research_agent
uv run python -m ideation.agents.formulator_agent
uv run python manage.py runserver 0.0.0.0:8001If you want the product-audit retrieval store locally, start Qdrant from the repo root:
docker compose up -d qdrantFrom frontend/:
npm install
npm run devSet frontend env:
NEXT_PUBLIC_BACKEND_URL=http://localhost:8001
Main endpoints:
GET /healthPOST /initPOST /respondGET /keywords/<session_id>/<question_index>POST /suggestGET /session/<session_id>DELETE /session/<session_id>GET /summary/<session_id>POST /summary-with-image/<session_id>POST /reset
- If agent services are unavailable, set
USE_A2A_MOCK=trueinbackend/.envfor local fallback. - The A2A architecture is unchanged. The text agents now run through ADK's LiteLLM connector against OpenRouter instead of Gemini.
- For full backend details, see
backend/README.md.
