ReqTrace is a tool that automatically constructs interactive knowledge graphs from requirements discussions. Discussions can come from uploaded transcripts or conversations with an embedded LLM. As conversations and discussions unfold, the system will identify entities (e.g. features, stakeholders, contraints), extract relationships, and build a navigable graph showing how requirements connect. Stakeholders can explore and refine the graph through continued conversations and preferences.
ReqTrace is intended for software engineers, project managers, and stakeholders involved in the requirements engineering process. It supports anyone responsible for eliciting, analyzing, or maintaining system requirements, particularly in collaborative or evolving project environments. Researchers may also use ReqTrace for exploring automated requirements extraction or graph-based documentation tools.
For detailed use cases, see USE_CASES.md
- User Auth + Frontend: Google Oauth login/signup, React UI, role scaffolding, responsive dashboard
- Audio Upload + Transcription: FastAPI upload, OpenAI Whisper speech-to-text, auto storage
- Transcript Vectorisation + AI Chat: FAISS embeddings, semantic search, LLM drafts user requirements
- NER-driven Graph Build: NER on transcripts extracts entities to create nodes/edges
- Graph Visualisation: Neo4j + React Flow (nodes: Req/Feat/Test/Stakeholder; edges: depends/validates/owns)
-
Save/Load Conversation Sessions
- Session versioning
- Resume interrupted conversations
- Session comparison
- Export conversation history
-
Graph Comparison
- Compare two graph versions
- Highlight differences
- Merge graphs
- Track evolution over time
-
Custom Graph Views & Perspectives
- Save personalized graph layouts
- Stakeholder-specific views
- Dependency-focused views
- Feature cluster views
- Timeline view
-
Software Design Document Generation
- Automatically generate architecture diagrams from graph structure
- Create component specifications from requirement nodes
- Generate interface designs from relationships
- Produce design rationale from conversation context
- Export design docs in standard formats (Markdown/PDF)
See INSTALL.md and USAGE.md for step-by-step instructions.
Quick Start snippet:
Backend:
cd backend
python3 -m venv .venv # create virtual environment
source .venv/bin/activate # activate on macOS/Linux
# OR for Windows PowerShell:
# .\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
pip install --upgrade pip
brew install ffmpeg
python -m spacy download en_core_web_sm
python -m coreferee install en
/Applications/Python\ 3.11/Install\ Certificates.command #for mac installation
pip install spacy-transformers
pip install https://github.com/explosion/spacy-models/releases/download/en_core_web_lg-3.4.1/en_core_web_lg-3.4.1-py3-none-any.whl
uvicorn main:app --reloadFrontend:
cd frontend
npm install
npm run devWatch a quick video of ReqTrace in action!
Complete documentation is available in the Wiki!
All 3 are in one workflow lint.yml