Technology

How Talk works.

One phone call, one structured understanding step, and facts that always come from the service, never from the model.

01 What happens in a call

From the caller's voice to the reply.
StepWhat happensBuilt with
1. The callThe caller dials Talk from any phone. The voice network sends the call to our server and records each thing the caller says.Africa's Talking voice and SMS
2. Speech to textThe recording becomes text, in English or Yoruba, and Talk keeps a second reading when the caller mixes languages.N-ATLaS Whisper
3. UnderstandingOne call to the language model works out the language, the service, the action and any amount or item, as structured data. It does not write the answer.N-ATLaS language model, served with vLLM
4. Router and toolsSOFA picks the service from a registry of tools. The model can only choose tools that exist, each with its own limits.SOFA, our own orchestrator
5. FactsPrices, stock, balances and advice come from the service's own records. Nothing the model says is trusted as a fact.Database, partner services
6. WordingThe reply is written around those facts, and a checker confirms every figure and name is present and none is invented. Otherwise a fixed wording is used.Wording validator
7. VoiceThe reply is spoken one sentence at a time in a Nigerian voice, and played back on the call.Spitch, YarnGPT2

02 Principles

Facts

The service is the source

Every number a caller hears comes from a record. The model understands and words; it never decides a price, a stock level or a balance.

Confirm

Read back, then yes

Before an order is placed or money moves, Talk reads back what it understood and waits for a clear yes.

Never stranded

It does not hang up

If a request cannot be answered, Talk passes it to the service with a summary and tells the caller who will follow up. If an answer is slow, the caller hears a holding message and is called back.

03 Languages and the way people speak

People mix Yoruba, English and Pidgin inside one sentence. Talk reads both language models' versions of what was said and keeps the more confident one. Money and numbers are spoken in English in every language, so there is no confusion over an amount.

04 How a service connects

By web API

A service answers a small set of signed requests: look something up, create an order, report a status.

By MCP

A service that already speaks the Model Context Protocol exposes its tools to SOFA directly.

By search

An information service is answered from a search source, and Talk says only what the search returned.

A new service is added by configuration: what it offers, what callers can ask, and where to reach it. There is no code change.

05 The stack

The main parts.
PartWhat we use
Voice and SMSAfrica's Talking
Speech recognitionN-ATLaS Whisper (English and Yoruba)
Language modelN-ATLaS, on our own GPU
VoiceSpitch, with YarnGPT2 as the fallback
BackendPython, FastAPI, SQLAlchemy
PaymentsPaystack, and a partner bank wallet
HostingA small server for the app, and a GPU that starts on request

The code is open: github.com/YakubuYinusaT/SOFA-Public.