# Convoplex Retention Agent

- **Event:** [Meta Global AI Developer Hackathon](https://cerebralvalley.ai/e/meta-ai-developer-hackathon)
- **When:** Oct 26, 12:00 PM – Nov 4, 9:00 PM (EST)
- **Where:** Online
- **Team:** [Victor Umozurike](https://cerebralvalley.ai/u/vumozurike)
- **GitHub:** https://github.com/vumoz/convoplex-retention-agent
- **Demo video:** https://youtu.be/wExH8ZWr7iI
- **Gallery:** https://cerebralvalley.ai/e/meta-ai-developer-hackathon/hackathon/gallery
- **Page:** https://cerebralvalley.ai/e/meta-ai-developer-hackathon/hackathon/gallery/584

Nigerian shops do not lose customers in a dashboard. They lose them in the gap after the last bag of rice, the last parcel of Ankara, the last phone. The regular is on WhatsApp. The shopkeeper is on the shop floor. Nobody writes the follow-up, so the next purchase happens somewhere else.

Convoplex Retention Agent is that follow-up. It is built in Lagos for retailers in Lagos, Abuja, and Port Harcourt. The agent scores who has gone quiet and why, then drafts one win-back with a discount taken from the shelf price, in naira, not from a number the model invented. If the customer accepts, it places the order, states pickup or same-city delivery, and decrements stock. A promo card shows the same figures: Muse Image draws a text-free product photo, and the shop name and prices are printed afterwards so the card cannot disagree with the offer.

The conversation is WhatsApp-first. A typed reply and a voice note take the same path. Muse Voice transcribes the note, including a request to change language. Formal English is the default. The customer can opt in, by text or by voice, to Broken English (Nigerian Pidgin), Igbo, Yoruba, or Hausa. A short or misheard name still switches, and the confirmation comes back in the new language. Prices stay in â‚¦. Product names stay as they are on the shelf. Igbo, Yoruba, and Hausa lines are a first draft and still need native-speaker review.

How Meta models power Convoplex

Three Meta models, called through the Meta Model API (Application Programming Interface) at https://api.meta.ai/v1, power the live product. The model names are the defaults in convoplex/config.py. With no API key, a deterministic mock in convoplex/llm.py keeps the same tool-call shape so the demo and the tests run offline. The interesting use is not the HTTP call. It is what each model is asked to do, and what trusted code refuses to let it do.

Text. muse-spark-1.3 (Muse Spark, convoplex/llm.py and convoplex/agent.py) writes the win-back and every reply in formal English, Broken English (Nigerian Pidgin), Igbo, Yoruba, or Hausa. It calls shop tools for stock, price, the offer, delivery, language, a picture, and the lexicon. WhatsApp replies use the shortest reasoning effort the model accepts. A language-only switch does not wait on a second completion. Around that draft, convoplex/purchase.py will not place an order without a confirmation for that customer, product, quantity, and offer. A repeated refusal is never a yes. convoplex/commercial.py checks every naira amount against the database. convoplex/substitute.py turns an unstocked brand into an in-stock alternative at the database price. convoplex/greeting.py treats "My customer" (and voice spellings such as costoma) as a greeting, mirrors it, and still runs the rest of the sentence as a sale. convoplex/lexicon.py lets the model ask once about a word that blocks the sale and store the explanation with learn_phrase, without telling the customer that a word was saved.

Image. muse-image-1.0 (Muse Image, convoplex/integrations/images.py) is asked for a text-free product photograph and forbidden from painting prices. Pillow prints the shop, the product, and the naira figures from the offer row afterwards, so the card cannot disagree with the database. A picture request is decided before a text-only pitch. convoplex/whatsapp_flow.py sends the cached card for that offer, otherwise the Mama Gold card shipped in the repo with the current price painted on locally, and only then a live draw. The caption and the Yes/No buttons still carry the database price. A failed upload is retried once and written to the action log.

Voice. muse-voice-transcribe-1.0 (Muse Voice Transcribe, convoplex/integrations/voice.py) is the ASR (Automatic Speech Recognition) step. WhatsApp OGG is converted to mono WAV, the transcript joins the same reply path as typed text, and the customer is answered in the language they were speaking. explicit_language in convoplex/languages.py treats "house a" as Hausa and "yaruba" as Yoruba, and the reply is generated in that language even if the chat model skips the language tool. On a Broken English (Nigerian Pidgin) voice note, "I wan buy" is often heard as "I won't buy". That transcript asks once, with the database price and a Yes button. It does not cancel the offer, and it does not count as consent.

The public site is a landing page plus a read-only demo of 500 synthetic customers. Phone numbers show the last two digits only. Nothing on that page can send a message or edit the book. The hash-chained action log is there so a judge can see each tool call and model call. Live WhatsApp goes only to one allow-listed demo phone, and only the template hello_world goes out once the 24-hour window has closed.

The impact we are aiming at is simple: a quiet regular gets one honest offer, in their language, with a price the shop can actually honour. What is next is native-speaker review of the Igbo, Yoruba, and Hausa copy, and a longer trial with one real shop that opts in, still without putting a customer list in the repo.

Live site: https://convoplex-retention-agent.vercel.app (judge view at /demo). All data is synthetic.

## More from Meta Global AI Developer Hackathon

- [Bellefly Kids](https://cerebralvalley.ai/e/meta-ai-developer-hackathon/hackathon/gallery/581)
- [Particle Sliders](https://cerebralvalley.ai/e/meta-ai-developer-hackathon/hackathon/gallery/582)
- [TrueLanded](https://cerebralvalley.ai/e/meta-ai-developer-hackathon/hackathon/gallery/583)
- [FlexVertex](https://cerebralvalley.ai/e/meta-ai-developer-hackathon/hackathon/gallery/585)
- [Course Factory](https://cerebralvalley.ai/e/meta-ai-developer-hackathon/hackathon/gallery/586)
- [Duka Books](https://cerebralvalley.ai/e/meta-ai-developer-hackathon/hackathon/gallery/587)

---

Markdown version of https://cerebralvalley.ai/e/meta-ai-developer-hackathon/hackathon/gallery/584. Site index for agents: https://cerebralvalley.ai/llms.txt · full text: https://cerebralvalley.ai/llms-full.txt
