Skip to main content
A minimal Vite + Express app using Akapulu’s prebuilt conversation UI. Use it when you want the fastest path to a working call and prefer to customize via props or CSS rather than build your own layout. Two folders:

Prerequisites

Setup

Clone the repo:
Install and configure the backend. Copy backend/.env.example to backend/.env.local and add your API key:
Set your scenario id in backend/server.ts:
Start the backend (localhost:3001) and leave it running:
In a second terminal, start the frontend:
Open localhost:5173 and click Start Call.

How it works

The frontend (localhost:5173) calls your backend (localhost:3001), which calls Akapulu with your API key. This demo does not authenticate users. Anyone who can reach /api/connect can start a conversation on your account. Before production, authenticate users on that route. Pass those headers with config.headers on AkapuluProvider (object or a function called when the request is sent). The backend exposes two routes:
The frontend wires those into AkapuluProvider and renders AkapuluConversation (connect chime plays when the call goes live; pass playConnectChime={false} to disable):

View on GitHub