Service status — checking…

Services

Everything this service exposes, and the real status of each building block. The badges below are not written into the page: they are read from the running service on every load.

The agent speaks French. The conversation engine, the voice and the written workspace all operate in French only. This page is translated; the product is not.
Why a checked status rather than a claimed one. A page that hardcodes “available” stays green on the day the service goes down. Each badge comes from /api/etat/services, which reports the configuration actually loaded. If the call fails, the badge reads “status not verified” — never an assumed availability.

Conversation engine

The core of the product: the same engine drives both the voice channel and the written channel. A separate “web” engine would have drifted, and the pricing guardrail would have ended up covering only one channel out of two.

checking…

Deterministic sales script

A complete decision tree: opener, qualification, pitch, objections, slot proposal, booking. Two sentences maximum per turn, and it never talks over the other person.

See the three replayed calls

checking…

Pricing guardrail

A deterministic filter inspects every sentence before it is spoken and replaces any amount, discount or offer of free service with an approved reply. A prompt is not enough: an instruction can be ignored by a model, a filter cannot.

Applies to both channels, voice and written.

checking…

Empathic rephrasing (language model)

Exactly one turn is delegated to a model: the empathic rephrasing at the qualification step. The model runs locally, and falls back to the scripted reply if generation exceeds its deadline.

Measured median ≈ 1.1 s.

checking…

Immediate opt-out

“Do not call me again” is handled before anything else, even before a question asked in the same sentence, and adds the number to the opt-out list (Moroccan law 09-08 / CNDP). No follow-up ever happens.

Human request: contact@nextdata.ma

Voice chain

Speech recognition, synthesis and the language model all run on our own infrastructure, with no third-party service: no conversation data leaves it.

checking…

French speech synthesis

Piper, French voice, ≈ 40 ms per reply. That is the voice you hear on the demo: the audio clips are produced by the engine, not recorded by a voice actor.

Listen to Sarah

checking…

Speech recognition

faster-whisper on CPU, ≈ 335 ms. Loaded lazily: the service starts even if the model is missing, and the incident shows up in the status rather than at boot.

Model base — the larger model was ruled out by measurement: twice as slow, no gain.

checking…

Telephony connection

The business logic is complete and tested end to end; the carrier is not. Commercial voice-over-IP outside a licensed carrier is prohibited in Morocco (law 24-96), so the connection goes through a local carrier — consultation under way.

Until then, no call is placed.

checking…

Concurrent capacity

Two simultaneous calls by default. The cap is deliberate: recognition and synthesis use CPU for the whole duration of a call, and the server hosts other services.

One refused call beats three degraded ones.

Qualification and booking

checking…

Written qualification workspace

The same conversation, typed: the channel open to subscribers while telephony is being connected. Access is a signed link sent by e-mail after subscribing — there is no password to remember.

Access terms

checking…

Booking and calendar invitation

An accepted meeting triggers an ICS invitation (RFC 5545) with an “Add to calendar” button. The chain has been validated in real conditions.

The send is explicit: nothing is announced as booked without being booked.

checking…

Subscription and access delivery

Recurring payment, signature-verified payment notification, append-only sales ledger and automatic delivery of the access link. Entitlements are recomputed on every read, never frozen.

See the plans

checking…

Public demo

Three replayed calls — meeting booked, price objection, opt-out request. These are transcripts produced by the state machine, not examples written by hand.

Open the demo

Public interfaces

Two entry points are open without authentication. They return no personal data, no binding amount and no secret.

EndpointWhat it returnsUsed by
GET /api/etat/services The status of every service above, as booleans. No key, no path, no address. This page, and any external monitoring.
GET /api/acces/offre The plans and their price labels. The amount shown is indicative: the only binding one is on the checkout page. Both sales pages, French and English.

Other endpoints are not public: placing a call is restricted to the machine itself and protected by a token, the workspace requires a signed link, and payment notifications are accepted only with a valid signature.

What is kept

The details are in the privacy policy.