Build Voice Apps
for Alexa, Google & Mobile

Violet is an open-source Node.js platform for building sophisticated voice conversations — using an HTML-like Conversation Flow language and JavaScript.

$ npm install violet-conversations --save

Everything you need to build conversations

Violet handles the hard parts of voice — state management, UX patterns, and platform differences — so you focus on your logic.

💬

Design Conversations

Design and iterate on conversational flows using primitives inspired by Voice User Experience patterns. Violet automates conversational state management for you.

⚙

Build Application Logic

Application logic is injected into the conversation flow, so your code stays well organized and integrated. Hide complexity behind reusable widgets and plugins.

📚

Samples & Testing

Start from built-out samples and test conversations locally in your browser — no device required — before you deploy to Alexa or Google.

Automatic conversation management

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 docs
var 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;

Conversational AI, in the wild

The same conversation-design ideas behind Violet now power a wave of consumer AI companion apps. We test and rank them hands-on so you can see how far the technology has come.

Frequently asked questions

What is 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.

Which platforms does Violet support?

Violet targets Amazon Alexa and Google Assistant, and can power mobile and web voice experiences from a single Node.js codebase.

How do I install Violet?

Install it from npm or yarn: npm install violet-conversations --save. Then require Violet in your Node.js app and start scripting conversation flows.

Is Violet free and open source?

Yes. Violet was released as an open-source project and is free to use for personal and commercial projects.