Back to portfolio

Full-stack, Data Science & AI

ReqCanvas

Collaborative platform for requirements elicitation on UML activity diagrams, with real-time collaboration, AI-assisted text analysis and export to Excel, Gherkin and PDF.

UML activity diagram of an auction system in ReqCanvas, showing the number of requirements on each activity

Description

ReqCanvas brings requirements elicitation onto the process diagram itself. The team uploads its UML activity diagram, marks the activities (manually or with assisted detection) and each participant records Given / When / Then scenarios right on the activity where they happen. The team votes and comments, the administrator validates or discards with a reason, and a dashboard measures coverage, quality and duplicates, with a text analysis that summarizes findings and recommendations.

Challenge

Requirements elicitation usually ends up in scattered spreadsheets and long meetings where the process context gets lost: nobody knows which activities were left uncovered, duplicates appear and acceptance criteria never reach testing.

Solution

Microservices architecture: React + Vite frontend with a three.js canvas; a Node.js API (Fastify + MongoDB) with real-time collaboration (presence, cursors and version comparison on concurrent edits); and a Python analytics service (FastAPI + worker with OpenCV and Tesseract) that detects activities in the diagram and applies text mining: keywords, topics, duplicates, quality, sentiment and critical activities, with a summary written by a language model. Exports to Excel, CSV, Gherkin (one .feature per activity) and a PDF report.

Results

In a real elicitation for an auction system, 11 participants recorded 50 requirements in a single day, covering 75% of the activities. The heat map and the analysis immediately flagged critical activities without requirements and the dominance of functional requirements, and validated scenarios export straight to Gherkin for acceptance testing.

Gallery

Got a similar project in mind?

Let's talk about taking your idea to production.