Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
Translation pending
Speak your language. They hear theirs. Keep the reviewed Call Record.
BusinessTypeScript · JavaScriptGitHub @areia-aiOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
AI assistant for calls you can't afford to forget: live translation, transcripts, notes, and follow-ups.
Taken from the repository README
Loading the full README.
Read the full README ↗Voxandra is an AI platform for multilingual business calls. It translates both sides of live phone conversations, provides private guidance while people talk, and turns each call into a reviewed Call Record.
It runs in production at voxandra.com. This repository is the full app: the Next.js frontend, the Convex backend, and the realtime media worker that carries translated calls.
/api/mcp, using personal API keys created in the app.| Layer | Technology |
|---|---|
| Web app | Next.js (App Router), React, TypeScript, Tailwind CSS |
| Backend and database | Convex (queries, mutations, actions, crons) |
| Auth | Convex Auth: email codes, password, and Google |
| Telephony | Twilio Voice (browser calling, Media Streams, two-leg bridge) |
| Speech and AI | OpenAI (transcription, extraction, embeddings, realtime guidance) and Palabra (speech-to-speech translation) |
| Realtime media | Standalone Node WebSocket worker (scripts/realtime-media-worker.mjs) |
| Billing | Stripe |
| Resend | |
| Analytics | PostHog EU, browser only, no session replay |
src/app/ Next.js routes: public site, /app (signed-in), API routes, webhooks
src/components/ UI, grouped by area (landing, dashboard, calls, memory, dialer, ...)
src/lib/ Shared logic: pricing, billing, Twilio, AI prompts, MCP, rate tables
convex/ Backend: schema, functions, crons, auth, Stripe and Twilio flows
scripts/ Realtime media worker, test suite, smoke tests, rate sync
docs/ Supporting notes and evals
Longer-form docs are in the repo root:
AGENTS.md: the working guide for anyone, human or AI, changing this code. Covers architecture rules, product rules, and guardrails.ARCHITECTURE.md: background on auth, workspaces, and the data model.REALTIME_WORKER_RUNBOOK.md: how the translation worker is deployed and operated.Twilio, Stripe, Palabra, and PostHog are optional for running the app locally.
git clone https://github.com/areia-ai/voxandra.git
cd voxandra
npm install
cp .env.example .env.local
npx convex dev
On the first run you'll be asked to log in and create a project. This writes your own CONVEX_DEPLOYMENT and NEXT_PUBLIC_CONVEX_URL into .env.local, replacing the example values. Keep it running: it pushes backend changes as you edit convex/.
In a second terminal, generate the Convex Auth signing keys:
npx @convex-dev/auth
This sets JWT_PRIVATE_KEY, JWKS, and SITE_URL on your Convex deployment.
Convex functions read their secrets from the Convex deployment, not from .env.local:
npx convex env set OPENAI_API_KEY sk-...
npx convex env set RESEND_API_KEY re_...
For Google sign-in, also set AUTH_GOOGLE_ID and AUTH_GOOGLE_SECRET the same way.
npm run dev
Open http://localhost:3000, sign in, and a personal workspace is created for you.
.env.example lists every variable with comments. They're read in three places, and several must match across them:
| Where | How it's set | Examples |
|---|---|---|
| Next.js app (Vercel) | .env.local locally, project env in production | NEXT_PUBLIC_*, TWILIO_* for webhook validation, STRIPE_SECRET_KEY, MCP_CONVEX_SECRET, REALTIME_STREAM_SIGNING_SECRET |
| Convex | npx convex env set NAME value | OPENAI_API_KEY, RESEND_API_KEY, AUTH_*, TWILIO_* call limits and allowlists, STRIPE_CONVEX_WEBHOOK_SECRET, MCP_CONVEX_SECRET |
| Realtime worker | The worker host's environment | OPENAI_* realtime models, PALABRA_API_KEY, REALTIME_* tuning, REALTIME_CONVEX_WORKER_SECRET, REALTIME_STREAM_SIGNING_SECRET |
Optional features stay off until you configure them:
TWILIO_* block and set NEXT_PUBLIC_TWILIO_CALLING_ENABLED=true. Calls only go to destinations in TWILIO_ALLOWED_COUNTRIES or TWILIO_ALLOWED_NUMBERS that have a rate row. Refresh rates with npm run sync:twilio-rates.npm run realtime:worker) reachable over a public WebSocket URL set as REALTIME_MEDIA_STREAM_URL, plus the bridge flags described in the runbook./api/stripe/webhook.NEXT_PUBLIC_POSTHOG_KEY. Leave it blank and nothing is sent.| Command | What it does |
|---|---|
npm run dev | Start the Next.js dev server |
npx convex dev | Sync and watch Convex functions |
npm test | Run the full regression suite (no live calls or payments) |
npm run lint | Lint |
npm run build | Production build |
npm run realtime:worker | Run the realtime media worker |
npx convex codegen | Regenerate Convex types after schema or API changes |
The test:*-smoke, probe:*, eval:*, and prewarm:* scripts call paid provider APIs. Read the script before you run it.
Pull requests are open. CONTRIBUTING.md covers the contributor license agreement you'll be asked to sign along the way (individual or entity), where to report bugs and security issues, and the checks to run before opening a PR.
Never commit secrets, real phone numbers, or customer data. Use placeholder values in tests and docs.
Voxandra is licensed under the GNU Affero General Public License v3.0. If you run a modified version as a network service, you must make your modified source available to its users.