Back to projects
Mira overview
In Production2026
Mira

Mira is a conversational AI vehicle discovery assistant for Fiat. It helps users explore models through voice or text, receive tailored recommendations as interactive cards, compare trims and configurations, and move from curiosity to a dealership-ready shortlist. Designed and built the assistant end to end — the standalone proof of concept, the embedded widget that replaced it, and two full migrations of the conversational engine underneath.

Next.jsNext.jsGeminiGeminiElevenLabsElevenLabsSalesforceSalesforceSalesforce AgentforceSalesforce AgentforceFlowiseFlowise

Product Flow

Page-Aware Context
A Rich UI, Not Just a Chat Window

From First Question to Test Drive

A single guided conversation carries the user from describing what they need through model and trim selection, colors, interiors, and accessories, all the way to booking a test drive — no separate flows to jump between.

Assistant Experience

Mira assistant overview

Structured Responses

The agent emits directives, not markup

The agent replies with ordinary conversational text plus a small machine-readable block the user never sees. The backend strips it, then resolves each directive — recommend models, show trims, engines, colours, wheels, interiors, dealers — into a card payload the front end already knows how to render. Adding a card means adding one directive, not reshaping the agent's output.

Voice and Text, One Session

Speech wraps the same conversation

A spoken turn is transcribed, sent through the same pipeline as a typed one, and the reply is synthesised back to audio. Voice and text share a single session, a single agent, and a single set of cards rather than running as two parallel implementations.

Embedded, Not Rebuilt

One script tag on the host page

The widget ships as a single script tag that mounts an isolated iframe with configurable size and placement, so it drops onto an existing page without inheriting or colliding with the host site's styles.

Three Engines, One Experience

The conversational engine behind Mira changed twice during delivery. Each migration had to land without the user-facing experience regressing.

Proof of Concept

A standalone web app first

The first version ran as its own web app, with the conversational layer on ElevenLabs Agents, built to prove the interaction model before it went near the production site. Once the direction was approved, the requirement changed: instead of a destination users would be routed to, it had to become a widget embedded directly in the existing site.

First Migration

Off ElevenLabs Agents, onto Flowise

ElevenLabs Agents sat outside the client's approved-tooling list, and clearing it would have taken longer than the delivery window allowed. The conversational layer moved to Flowise while the interface, the card system, and the interaction model stayed exactly as they were.

Second Migration

Onto Salesforce Agentforce

The client then asked whether the assistant could run on Salesforce. Agentforce became the reasoning layer — OAuth client-credentials auth, a server-side map from widget session to Agentforce session, and the directive protocol carried across intact — with no loss of UI, UX, or functionality. ElevenLabs stayed on, narrowed to the part that was never in question: speech-to-text and text-to-speech.