Violet is an open-source Node.js platform for building sophisticated voice conversations — using an HTML-like Conversation Flow language and JavaScript.
Violet handles the hard parts of voice — state management, UX patterns, and platform differences — so you focus on your logic.
Design and iterate on conversational flows using primitives inspired by Voice User Experience patterns. Violet automates conversational state management for you.
Application logic is injected into the conversation flow, so your code stays well organized and integrated. Hide complexity behind reusable widgets and plugins.
Start from built-out samples and test conversations locally in your browser — no device required — before you deploy to Alexa or Google.
Define conversations using nested user decisions and voice-based ‘forms’ with an HTML-inspired Conversation Flow Language, then integrate them with your application logic.
Violet saves each user's conversation state in a session, giving you out-of-the-box support for multiple users and long-running conversational goals.
Read the docsvar violet = require('violet').script(); // Register an intent violet.addTopLevelGoal('greeting'); violet.respondTo({ expecting: ['Hello', 'Hi Violet'], resolve: (response) => { response.say('Hello! How can I help you today?'); } }); module.exports = violet;
Violet is an open-source Node.js platform for building voice conversations. You define conversational flows using an HTML-like language and JavaScript, with built-in support for voice UX patterns, local browser-based testing, and plugins.
Violet targets Amazon Alexa and Google Assistant, and can power mobile and web voice experiences from a single Node.js codebase.
Install it from npm or yarn: npm install violet-conversations --save. Then require Violet in your Node.js app and start scripting conversation flows.
Yes. Violet was released as an open-source project and is free to use for personal and commercial projects.