Skip to content

CallVitalz — Call intelligence

The phone is your front door. Start measuring it.

CallVitalz captures every inbound call across every location, transcribes and analyses it, and surfaces the appointments booked, the ones missed, and the sentiment behind both — scoped by role, per location, in one dashboard.

Live in productionUS multi-location practices
ReactSupabaseDenoPostgres RLSAI transcription

The problem

For a multi-location practice, the phone is the highest-intent channel and the least instrumented one. Calls land with a voice agent or a receptionist, recordings sit in a vendor portal nobody opens, and the only signal that reaches management is the appointment that did or didn't appear in the calendar. Which locations miss calls, what callers actually ask for, and where bookings fall apart stay invisible.

What changes

Every call arrives as a record: transcript, sentiment, topics, and action items attached, with recording and transcript stored durably rather than borrowed from a vendor. Location managers see their own numbers, administrators see the estate, and the people who need to follow up get an email with the context already in it.

Built for

  • Practices and service businesses running several locations off separate phone numbers
  • Teams already using an AI voice agent who have no reporting layer over it
  • Operators who need per-location accountability without giving everyone access to everything
  • Anyone whose call recordings are trapped in a telephony vendor's portal

What it does

Inside the platform

Multi-source ingestion

Webhook ingestion from voice-agent and telephony sources with HMAC-SHA256 signature verification on every source, so an endpoint can't be spoofed into the dataset.

AI enrichment

Automatic transcription with sentiment, topic extraction, and action items, plus one-click manual re-enrichment when an upstream provider fails a job.

Appointments and reminders

Appointment records derived from calls, including recurring appointments, public share links, and reminder coverage checks over the schedule.

Reporting and dashboards

Dashboard statistics, search across calls, trend reporting, and exports — with date-range scoping that follows the user's role rather than overriding it.

Tenants, locations, numbers

A tenant → location → phone-number model with per-tenant branding, onboarding progress tracking, department and location management, and granular RBAC.

Routed notifications

Branded email notifications with per-location recipients, so a call at one site reaches the people responsible for that site and nobody else.

How it's built

The stack, specifically

No mystery boxes. These are the actual choices behind the platform — the ones that decide how it scales, who can read what, and how quickly it can change.

Frontend

  • React + TypeScript + Vite
  • Tailwind CSS + Radix UI
  • Role and permission contexts, tenant branding, impersonation for support

Backend

  • Supabase Edge Functions (Deno/TypeScript)
  • Webhook workers for ingestion and AI enrichment
  • Domain APIs for calls, reports, search, notifications, RBAC, tenancy

Data & delivery

  • Postgres with row-level security as the tenant boundary
  • Supabase Storage for recordings and transcripts
  • AI transcription and analysis providers for enrichment
  • Transactional email for branded notifications

Our role

Built and operated by Narix Labs

Ingestion, enrichment pipeline, multi-tenant data model and RLS, the admin frontend, and the notification system — plus the operational side: migrations, RBAC test suites, audit-log retention, and release verification runbooks.

Verify the webhook, then trust the call

Every inbound source is signature-verified before a record is written. Ingestion that can't be authenticated is rejected rather than stored and sorted out later.

Enrichment is a job, not a hope

Transcription and analysis run as tracked jobs with retry and manual re-run, so a provider outage degrades a record's completeness instead of losing the call.

RBAC tested at the database

Row-level security policies have their own SQL test suites. Access rules are verified where they're enforced, not asserted in the UI layer.

FAQ

CallVitalz questions

Need something like CallVitalz?

Tell us what you're holding — an idea or a codebase — and you'll have a written proposal for the first step within 48 hours.