LAT4MRE is a small web app that lets people describe software requirements in their own native language through a chatbot, and automatically turns the conversation into structured English-language user stories that get pushed to Jira.
- Chatbot — a conversational agent (built with n8n + an LLM) that talks to the stakeholder in whatever language they use, asks clarifying questions, and keeps track of the conversation.
- Extraction pipeline — once the conversation is going, a second LLM step reads the transcript and pulls out concrete requirements, converting each one into a
As a <user>, I want <goal> so that <benefit>user story, along with the original wording and the language it was expressed in. - Jira export — the generated user stories can be sent straight to a Jira project as issues.
server/
server.js # Node.js HTTP server + reverse proxy to the n8n webhooks
index.html # Chat frontend (no external dependencies)
n8n/
LAT4MRE.json # The n8n workflow (chatbot + extraction pipeline)
-
Import the workflow. Open n8n, import
n8n/LAT4MRE.json, and add your own credentials for the LLM provider (the workflow was built for Claude models via n8n's LangChain nodes. but any other model should be fine) and Jira. You'll also need to update the hardcoded Jira project/issue type in the "Create an issue" node to match your own project. -
Activate the workflow and grab the webhook URLs n8n generates for it (chat, history, requirements, reset, jira-trigger).
-
Configure the server. Open
server/server.jsand fill in the five webhook URL constants at the top:const CHAT_WEBHOOK_URL = ''; const HISTORY_WEBHOOK_URL = ''; const REQUIREMENTS_WEBHOOK_URL = ''; const RESET_WEBHOOK_URL = ''; const JIRA_WEBHOOK_URL = '';
-
Run it:
node server/server.js
Then open
http://localhost:6967(or whateverPORTyou set) in your browser.
- The frontend keeps all webhook URLs on the server side and only talks to
/api/...routes itself, so nothing sensitive needs to live in the browser. - The n8n workflow writes conversation memory to
/files/memory.jsonon disk — make sure that path exists and is writable wherever you run n8n. - Because the chat webhook is public by design (n8n chat triggers need to be reachable from the browser), keep an eye on who has your deployed URL, and consider regenerating the webhook ID if you fork this for your own use.