Volley

The agents, who already pays for this count, and every test.

The parts a sceptic or a developer checks, kept off the home page so a parent can read it in one pass. The measured results, what it refused to count and how close it is to a person, stay on the home page.

Two agents that may only say what a tool returned.

Both are built on the Strands Agents SDK, phrase with Claude on Amazon Bedrock, and reach Volley only through the MCP server Alexa+ would use. Every number in an answer must have come back from a tool, and the words the coach never uses (delay, behind, risk, deficit, disorder, diagnosis, percentile, IQ) may not appear. A refused answer goes back once with the violation named; a second refusal is replaced by the tool results read out plainly.

The Coach

Answers a parent the way Alexa+ would, over Volley's seven MCP tools; the model never sees the household's key. It is also deployed on Amazon Bedrock AgentCore Runtime, so Alexa+, a scheduled job or another agent can invoke it.

The run, word for word

Asked on 2026-09-30 about the simulated day dated 2026-09-28; "today" in the answer means 2026-09-28, not the day you read it.

$ volley-agent coach --demo "how was our talking today, and what should I try tomorrow?"

You and your little one had 157 turns today, your liveliest stretch was at six in the evening, and the quietest time when your child was around was at four in the afternoon. Tomorrow, try leaning into that six o'clock window, that's when the two of you are most in tune, with 38 turns in that hour alone. See if you can bring a little of that same energy to four o'clock too!

[model; tools: how_was_our_talking_today, one_thing_for_tomorrow]

A real run, Sonnet on the first rung, against the deployed server, on the simulated household.

Tuesday

Why was Tuesday quiet is a question the counts cannot answer and the parent's own Bee can. Tuesday holds Bee's own MCP server beside Volley's, behind a four-tool allow-list: the daily summaries, a list of them, the to-do list and creating one to-do. The transcript, search, photo and location tools are never offered, and neither server is told the other exists.

The run, word for word

Simulated Bee, simulated household, 2026-10-21: a stand-in Bee server with synthetic days written for the simulated family, asked about the week ending 2026-09-28.

$ python -m volley_agent tuesday --sim-bee --record apps/agent/runs/tuesday-sim.json "Which day this week was the quietest for talking, and what was I doing that day according to my Bee?"

Your quietest day was September 24, with 156 turns, the lowest of the week. Your Bee shows you spent most of that day on a long drive to the grandparents and back, with Asha napping through much of it. That explains the count perfectly, she was asleep in the car seat for big stretches of the day!

[model; tools: week_trend, bee_list_daily_summaries, bee_get_daily_summary]

Read word for word from the run's record. An earlier real run on 2026-09-30 found no Bee summary for that day, and the agent said so rather than inventing one.

Cities have paid for this count. Parents have never been able to buy it.

The case for who this serves, in the order a sceptic would ask it, with the study behind every sentence on its i. What it does not claim is at the end, in the same type.

Somebody has already paid for it, at city scale

Providence won a Bloomberg Philanthropies grand prize to put the research recorder in families' homes with coaching, and community classes built on the same instrument raised turns in an evaluation. The demand is proven. The barrier is that the instrument is a programme, not a purchase. In 2025 home visiting reached 301,595 US families over 3.1 million visits; 16.7 million could benefit, and half the children who could are three to five (NHVRC, 2026 Yearbook).

It is coachable, in randomised trials, at this age

A nine-week family intervention with four-to-six-year-olds raised turns, and the change in turns carried the gains in language. Home-visit gains faded when the visits ended, which is the argument for a count that is there every day rather than a course.

The number is about more than words

Turns at 18 months predicted how children handled feelings a year later, with the direction running from turns outward; and turns, not the amount adults spoke, related to the wiring of the brain's language pathway.

It does not rest on the word gap

The thirty-million-word figure did not replicate as stated, and the field's reply was that responsive talk is what matters. Volley counts turns because turns kept predicting outcomes after income was accounted for, when words did not.

The quietest hour usually has a phone in it

One interrupted phone call was enough to stop a two-year-old learning a word said just as often. Volley cannot see the phone. It shows the hour, and the note names the quietest one with your child present, which is the only nudge it makes.

The research instrument's own turn count is imperfect

A thorough evaluation found its turn count more problematic than its word count, and a comparison with hand counts earned a word of caution. There is no gold standard, which is why this page will print its own agreement rather than assume it.

The scale, and who is asked to act on it

About one child in ten arrives at school with a language disorder, most with no known cause, and nearly nine in ten of them fall behind. Paediatricians are asked to promote talk at every well visit and have no instrument a parent can bring. Volley is not a screen; it is the count a parent could bring.

What changes at fifty dollars on the wrist

The Bee costs about fifty dollars and is already worn for other reasons. The difference is not a better count; it is the first one a parent can own, on their own computer, with the words never leaving it.

Not claimed: that Volley has changed any child's outcome; that its count equals the research recorder's; that a parent should aim for any number. Every study above is resolved on PubMed or Crossref in the repository's citations file, with what it showed and what it did not, and a test refuses any citation in this page that is not there.

Everything here is a test you can run.

Run it

python -m venv .venv
.venv/Scripts/pip install -e packages/serve-return[dev] -e apps/ingest[dev] -e apps/server[dev]
.venv/Scripts/python -m pytest packages apps harness -q    # every test
cd apps/web && npm install && npm test && npm run dev

Use the counter

from serve_return import Utterance, Roles, count_day

roles = Roles.of(adult=["MOT"], child=["CHI"])
day = count_day(utterances, roles)
day.turns, day.best_hour, day.words_discarded

serve-return is the open-source deliverable: the published rule as a dependency-free package, for anyone who cannot afford the research recorder.

Repository · The evidence, with sources · Prior art · Friction log · Agent Skill