A talking picture board for a child who does not speak

Many hands on one board. Her words never move.

Parents, a therapist and a teacher each change her board from their own phone or laptop, and Chorus keeps every copy in step. It speaks with no signal, and a button she already knows never changes place.

Tap the words to make a sentence

Speaks with your device's own voice. Nothing is sent anywhere.

How it works

One board, three devices, no surprises.

  1. 01No signal? She still talks.Her tablet speaks from its own copy of the board.
  2. 02Mum adds ‘juice’ from work.It waits until she pauses. Nothing moves.
  3. 03Two adults, one empty spot, both offline.One word takes the spot, the other waits under “Needs a home”. Both words survive.

For the adults around her

What the circle gets

Under the hood

Built on Serverpod

Each device keeps its own copy of the board in SQLite. Serverpod's offline sync module carries changes to PostgreSQL and back, and the rest of the server does the quiet jobs around it.

Each device's SQLite copy syncs through the offline sync module to PostgreSQL on Serverpod Cloud, with emailed-code sign-in, streaming, file storage and web routes around it. Child's tabletSQLITE COPY Parent's phoneSQLITE COPY Therapist's laptopSQLITE COPY Offline syncSERVERPOD MODULE PostgreSQLSERVERPOD CLOUD Sign-inEMAILED CODES StreamingLIVE UPDATES FilesPICTURES Web routesTHIS PAGE, PAPER COPY,SITTER LINK Each device's SQLite copy syncs through the offline sync module to PostgreSQL on Serverpod Cloud, with emailed-code sign-in, streaming, file storage and web routes around it. TabletSQLITE PhoneSQLITE LaptopSQLITE Offline syncSERVERPOD MODULE PostgreSQLSERVERPOD CLOUD Sign-inEMAILED CODES StreamingLIVE UPDATES FilesPICTURES Web routesTHIS PAGE,PAPER, SITTER
Everything runs on Serverpod 4. The sync module is experimental, so its version is pinned.

Try it

Pick it up and tap.

Demo sign-ins are in the submission text.

See a clash in 60 seconds

  1. 1Open the web app.
  2. 2Sign in with a demo account.
  3. 3Click “Edit words”.
  4. 4From the ⋮ menu, choose “Try a clash”.
  5. 5Follow the three steps and watch both words survive.