kongruity app
kongruity clusters large volumes of unstructured action items in development settings by their thematic or topical similarity.
In kongruity, "to dos", action items, agile tickets, Jira comments (appropriately tagged) ... all the myriad artifacts of the creative-engineering process, become thematic "sticky notes."
kongruity's React/Vite UI displays a board of your team's seemingly chaotic "sticky notes" - transformed into manageable, actionable groups, with headers that explain their semantic relation, and introduces project management workflow: ranking temporal priority of clusters for future release.
The backend features an Express server/API that serves "sticky note" data and proxies semantic grouping requests to Large Language Models.
Developers may freely swap in other LLM SDKs and/or APIs... and alter prompt syntax at backend/services/clustering.service.js to complement R&D with any LLM model/platform they prefer.
Prerequisites
- Node.js (v18 or later recommended)
- An LLM Platform API key
Setup
1. Unzip the project
unzip kongruity.zip
cd kongruity
2. Create an environment file
The backend expects a .env file containing an Anthropic API key in the root backend/ directory. This file is git-ignored and must be created manually:
echo 'LLM_API_KEY=<your LLM API key>' > backend/.env
Replace <your LLM API key> with your actual key.
3. Install dependencies
cd backend
npm install
cd frontend
npm install
Run the app
Start the backend - Production Mode
From the backend/ directory:
npm run start
The API server starts on http://localhost:3001 (configurable via the PORT environment variable).
Start the backend - Development mode
To start using Nodemon for "hot reloads," if developing your own features:
npm run dev
Build the frontend - Production mode
From the frontend/ directory:
npm run build
Start the frontend - Development mode
From the frontend/ directory:
npm run dev
The Vite dev server starts on http://localhost:5173 by default. Open that URL in a browser.
Running tests
Backend tests
From the backend/ directory:
npm test
Backend tests use Supertest for HTTP assertions.
Frontend tests
From the frontend/ directory:
npm test
This runs vitest run with jsdom. For watch mode, during development:
npm run test:watch