One conversation engine. Any app on top.
TinkySpeak runs on Node 22 or newer with no npm dependencies and no browser. The same engine powers an embedded import, a local HTTP service and the terminal console — and the same conversation, memory and two-way language flow whichever model you put behind it.
A terminal you can hold a conversation in.
The REPL opens a live dashboard: the partner's question, the response tiles, and a speech bar fixed at the bottom. It is how you feel the conversation before you build a single tile of your own interface.
aac> Would you like tea or coffee?
6 responses ready
1. TEA — I'd like tea, please.
2. COFFEE — I'd like coffee, please.
...
aac> 1
Text output: I'd like tea, please.
Ready for the other person's next turn.Numbers choose and deliver a response. /select 2 previews without delivering, /edit changes the draft, /speak sends it, and /say your own words bypasses the suggestions entirely. /observe records what the partner said without offering replies.
It adapts to the person, not the diagnosis.
| Preset | Longest reply | Tile display | Choices |
|---|---|---|---|
/profile symbols | 1 word | One symbol per tile | 2 |
/profile word | 1 word | Word and emoji | 4 |
/profile phrase | 4 words | Words and emoji | 4 |
/profile sentence | 15 words | Words and emoji | 6 |
/profile full | 40 words | Words and emoji | 6 |
Level, tile style, choice count (1–24) and vocabulary are all settable on their own, and they persist across launches. Age guides a prompted model's tone and vocabulary.
What a profile is not
These settings never infer a diagnosis, an intelligence or a younger mental age. An adult can use one-word or image-only choices. They are not a clinical assessment of comprehension.
The partner's words and the user's words, both kept.
Set the partner language first, then the AAC user's. The original turn stays above its translation; choices appear in the user's language and are translated back for delivery. Language codes are BCP 47, including regional variants.
/languages en es
Would you like water or juice?
[en] Would you like water or juice?
[es] ¿Te gustaría agua o jugo?
1 💧 Agua 2 🥤 Jugo
1
Your words [es]: Agua
To partner [en]: WaterIf a translation fails, the runtime keeps the original and reports the error rather than delivering the wrong language. Coverage depends on the model you select; an unverified model is marked as such instead of claiming support.