Admin Dashboard

Jodisius AI Control Center

Manage customer usage, failed payments, subscriptions, Ronnie numbers, routing, and onboarding.

Customers0
Active Subs0
Trial/Checkout0
MRR$0

🧰 Tools

Your working tools — one click each. They were always live; they just had no menu until now. (Everything on the platform is also searchable in Mission Control.)

🧠 Contact Memory 📚 Knowledge 👷 Workforce Builder 🎨 Ronnie Customization 🧬 Ronnie Intelligence 🪄 Setup Wizard 📦 Pack Settings 🛡️ Guardian 📱 SMS Checkup 📄 Transcript Lookup 🎵 Music Library

31A CEO Dashboard

Loading...
Monthly Recurring Revenue$0Active subscriptions only
Active Customers0Subscription status active
Trial / Checkout0Trial or checkout created
Past Due0Needs payment follow-up
Twilio Numbers0Assigned phone lines
Leads This Month0Customer usage records
Lead Value This Month$0Estimated customer value
Total Customers0All active accounts
31A CEO SaaS Metrics: Track MRR, active customers, trials, Twilio numbers, monthly leads, and lead value.

⛽ Vendor Fuel Gauges

Loading…
Twilio dollars + voice characters are LIVE from vendor APIs. Red = top up before campaigns.

📊 Revenue & Cost Dashboard (V91)

Real usage · Real costs · Real margin
MRR$0
ARR$0
Gross Margin0%
AI Cost This Month$0
Calls Today0
AI Minutes Today0 min
Cost Today$0
Active Customers0
Customer Plan Revenue Minutes Used Calls AI Cost Margin Status
Loading...

⚡ Ronnie Power Core

Loading…
Live Calls Engine🔒 Locked to the licensed voice engine until V3.0 go/no-go
Voice Preview EngineSwitchable in the Engine Room
Plasma Core StatusJodisius engine, in development

The switch, the full pathway chart, and the Stack Lab now live in their own room.

⚙️ Open the Engine Room →

50 Safe Testing + Email Tools

Use these to test email and customer login without charging Stripe or buying a Twilio number.


Demo account needs to actually ring? Attach a real Twilio number to an existing customer — no billing, no Stripe, no subscription change. This costs a real Twilio number fee, same as any live number.

28B Subscription Status Control

Use after a customer pays, or while waiting for full Stripe webhooks in the next step.

V92A Admin Plan Override

Use this for demos, QA, support, and test customers. This updates Supabase directly without Stripe checkout.

Jodisius Credits™ — Admin Adjust

Manually add or remove credits for any customer. Every adjustment is logged in the ledger.

🔑 Open Customer Account

Open any customer's real portal directly — no password involved. This replaces your current session with theirs, same as a normal login; log back into Admin afterward the same way as today.

Loading…

27A Create Stripe Subscription Link

26B Customer Industry Profile

25B One-Click Customer Onboarding

Optional. Leave blank for first available number.

55 Customer Login Password Fix

Use this when a customer was created but cannot log in. It writes a matching password hash, emails the customer, and proves the login password matches the database.

29A Customer Usage Summary

CustomerCallsLeadsEstimated ValueUsage Date
Loading...

28B Billing Alerts

CustomerStatusAlertAction
Loading...

30B Multi-Agent Marketplace

30A White Label Branding

29B Support Requests

DateCustomerNameEmailMessageStatus
Loading...

🎧 Recording Doctor

This panel lives HERE on the main admin page. The separate Call Recording Manager remains the storage-bucket browser only.
The self-healing recording reconciler (V523). It runs itself every 15 minutes; this button runs it NOW and shows the full per-call report — including the decisive verdicts: attached, "Twilio holds no recording for this call", or the verbatim database error. Safe to press any time: it only attaches missing recordings, never touches anything else.

📣 Owner Broadcast

Send a spoken message from Ronnie to your customers, on the phone number each owner registered. First-party, consented outreach — it calls owners only, from your platform line, and is never billed to them. Always Preview first.
0 / 900

🎤 Voice Observatory V1035 · read-only

Loading…

A view over authoritative records — ronnie_call_logs (transport truth), usage_events, the Experience Ledger (analyzer verdict, deliveries) and V1001 transfer state. Transport status and analyzer verdict are never merged. Nothing here writes; transcript content and recording URLs are never returned.

Window

Tenants

TenantCallsCompletedSecondsTransfers attemptedConnected
Loading…

Recent voice events

Time (UTC)TenantDirDurTransportAnalyzerTransferTranscriptRecordingDeliveriesMetered
Loading…

👻 Shadow Ronnie V1039 · post-hoc replay · manual only

Idle

Replays a FINISHED call after the fact: Jodisius rebuilds this tenant’s runtime instructions with the same builder the voice engines use, asks its own governed model what it would have said at each of Ronnie’s turns, and shows it beside what Ronnie actually said. Never spoken, never in the call path, no tools, no transfers, no customer credits. Instructions used are the REPLAY-TIME snapshot — call-time provenance is unavailable in V1039 and is labelled as such.

#SpeakerActual (Ronnie on the call)Shadow (Jodisius replay)Same?Δlen
Enter a call_sid and run or view.
RunCallTenantTurnsSameCost $ModelPrompt hashWhen
Autopilot V1041 · every 15 min · observation and evaluation only · default OFF scope sample every
Loading…

Improvement queue V1042 · measured across calls · quality signals from comparable content turns only · accepting changes nothing automatically

TenantSignalCategoryInstr. hashCallsDaysShareTrendScore (components)EvidenceStatusDecide
Watching (below threshold):
Coverage (context only, never a defect):

Instruction versions & change verification V1043 · version key = replay hash · humans link an experiment, the numbers derive on every read · gate counts distinct calls and days, never turns

Tenant#Version (hash)First seenLast seenRunsCallsJudged turns / callsChange status
Link an experiment:
TenantSignalBefore (hash · share · calls)After (hash · share · calls)Gate (calls/days)VerdictWhyRegression?Linked

Judgments & findings V1040 · classify before judging · evidence for humans — nothing here changes Ronnie

Judge a run, then open Findings.
#ClassWhyVerdictConf.ReasonsRule hits (actual / shadow)
KindProposal (for a human to consider)EvidenceWhen

Customers & Billing

Loading...
EmailCompanyAgentVoice AgentPlanMonthlyStatusCheckout LinkIndustryActions

\ud83d\udcde Twilio Numbers

Click load to fetch your Twilio inventory.
NumberFriendly nameAssigned toRecordAction
Not loaded.

59B Dedicated Customer Agent Foundation

Prepares Jodisius for the clean architecture: one customer = one dedicated Ronnie agent. This does not create the agent yet. It verifies the database fields and selected customer readiness for 59C.

58A Voice Prompt Injection

Creates the Twilio personalization webhook payload. After deploy, configure this webhook in the licensed voice engine so live calls receive the customer-specific Ronnie prompt.

57A Live Runtime Injection Audit

Checks whether an incoming call can resolve the customer, phone number, Ronnie profile, and runtime prompt before bridging to Ronnie.

52 Proper Admin Role Finalizer

Use this once to turn the logged-in owner account into a real role-based admin. This replaces the temporary owner bridge with proper database role support.

51 Isolation + Provisioning Audit

Admin-only audit for role access, customer isolation risk, Stripe provisioning, Twilio number readiness, and customer login foundations.

🎛️ Voice Concurrency Pressure

Four separate readings, not one blended number — an inbound spike isn't controllable, an outbound spike is (pause a campaign). This is the shared pool every customer's calls draw from.

1. Total Concurrency
2. Inbound Load
3. Outbound Load
4. Burn Rate (projected/mo)

🎛️ Operational Controls

Loading…

Caps outbound AI minutes per account per day — the runaway-cost guardrail. Raise for a testing day, lower after. Takes effect on the next outbound call, no deploy. Concurrency & monthly limits are separate and unaffected.