Project 05 / 07 / shipped
Parley
Answers the phone for a property agency in English and Gulf Arabic, books viewings, and only states facts the listings database returned.
From the write-up
Parley answers the phone for a property agency, in English, Gulf Arabic or both in one sentence. It books a viewing, only ever says prices and addresses the listings database returned, and works with no internet connection.
Headline numbers / 2
- Every time the booking system failed mid-call, all 232 times, Parley said so and offered a callback instead of inventing a price or address.
- 232 of 232never invented a fact
- From the Parley README, booking API faults paragraph.
- Scripted calls booked start to finish by voice with no internet. Not good enough yet. Calls mixing English and Arabic fail most.
- 17 of 40not good enough yet
- From the Parley README, calls booked table, row All, column local.
Decisions I made and things that broke
- No model decides the next step. Replies are fixed templates, and any model rewording that adds an unknown fact is thrown away.
- When the booking system is slow or down, Parley says it cannot confirm anything and books a callback instead of guessing.
- A speech prompt for mixed English and Arabic kept the English words but lost the Arabic ones, so the original prompt stayed.
What this proves / 6 skills
AI / ML
- Python
- The conversation logic, the booking service and the tests are Python, and the tests need no models.
- Model evaluation
- The same scripted calls are replayed with clean audio, noisy audio, garbled text and a failing booking system.
- Speech recognition and TTS
- Speech works on one laptop with no internet. Only 17 of 40 scripted calls ended in a booking, which is not good enough yet.
- Grounded replies
- When the booking system failed mid-call, Parley handled it safely all 232 times and never spoke a false fact.
Systems
- Fault injection
- The booking system is made slow, empty, contradictory or down mid-call, and Parley books a callback instead of guessing.
Infrastructure
- Tests and CI
- Automated checks fail if the tables in the write-up drift from the results file.
The demo, recorded

Papers / 3
- arXiv 2606.31307, Safe recovery when the database failsWhen the booking system fails mid-call, Parley confirms nothing, claims neither success nor failure, and books a callback.
- arXiv 2609.03321, Finite-state turn takingWho holds the floor is tracked by a small set of fixed states, so a caller can talk over Parley and it stops.
- arXiv 2605.19069, Code-switching speech recognitionCalls that mix English and Arabic are scored one language at a time, which showed the Arabic words are where recognition fails.