April 20, 2026 · Gökhan Oğuz

Possessives, Helpers, and 679 Tests

Today was supposed to be a different day. I had a plan, an agenda, items to check off. Instead I spent the whole session deep in Turkish grammar rabbit holes and came out the other side with possessive morphology, in-category sentence helpers, and almost 70 new tests. Sometimes the best days are the unplanned ones.

679

Tests

383

Grammar Cases

100%

Benchmark Pass

6

New Symbols

Sentence Helpers: The Pinned Row

Here's the thing about AAC apps — when a kid is in the "Food" category looking at pictures of bread and milk, they still need pronouns and verbs to make sentences. Tapping back to find "Ben" (I) or "İstemek" (want) every time breaks the flow.

So I added a pinned helper row at the top of every category grid. Eight core symbols that are always there (pronouns, negation, time markers, question mark), plus two verbs that change per category. Food gets "Yemek" (eat) and "İçmek" (drink). Transport gets "Gitmek" (go) and "Binmek" (ride). You get the idea.

It's a small UI change but it completely transforms how you build sentences without leaving the category you're in. Tap "Ben" from the helper row, tap "Ekmek" (bread) from the grid, tap "Yemek" from the helper row — and the app speaks "Ben ekmek yiyorum" (I'm eating bread). No category switching needed.

"Benim Evim" — Teaching Possessives

This is the one that ate most of my day. Turkish possessives aren't like English where you just stick "'s" on things. "My house" in Turkish is "benim evim" — the pronoun changes form AND the noun gets a suffix. And it's different for every person.

A child tapping BenimEv should hear "benim evim," not "benim ev." And if they add a movement verb — BenimEvGitmek — it should become "benim evime gidiyorum" (I'm going to my house). That's possessive AND dative case stacked together.

TappedOutputWhat happened
Benim + EvBenim evim1st person possessive
Senin + ArabaSenin araban2nd person possessive
Onun + Okul + GitmekOnun okuluna gidiyor3rd person possessive + dative
Benim + Park + GitmekBenim parkıma gidiyorum1st person possessive + dative
Benim + Top + GitmekBenim topum gidiyorPossessive only — "my ball goes" (3rd person)

That last row is the subtle part — the engine only adds dative case when the noun is actually a location AND a movement verb follows. "My ball is going" doesn't get dative because a ball isn't a destination. Getting these rules right took a while.

The Third Person Buffer Trick

Here's a fun edge case. When you stack possessive + dative in Turkish, it works differently for third person. "Benim evime" (to my house) — straightforward, just add the dative suffix. But "onun evine" (to his/her house) needs a buffer consonant "n" between the possessive and the case suffix, because the third person possessive already ends in a vowel.

Took me a bit to figure out why "onun evi" + dative was producing "onun evie" instead of "onun evine." One buffer letter, that's all it takes to sound completely wrong.

Loanwords Don't Play by the Rules

Turkish has this consonant softening thing where certain letters change before vowels (k→ğ, p→b, t→d). Usually works great. Then I tried "park" and the engine proudly produced "parğım" (my park). Nope.

Loanwords borrowed into Turkish often keep their original consonants. "Park" stays "park" — it doesn't soften. Same with "bank," "tank," "link," "risk." Added an exceptions list. Probably need to grow it over time, but these cover the common ones a kid would encounter.

New Symbols

Realized we were missing some basics for sentence building: the question mark symbol, demonstrative pronouns (Bu/Şu — this/that), and possessive pronouns (Benim/Senin/Onun). Added six new custom symbols. Small addition, but you can't build possessive sentences if there's no "Benim" to tap.

AI Review

Ran the whole grammar engine through two different AI models for review. They found the possessive+dative gap before I did, which pushed me to implement the stacking. The rest of the feedback was "looks solid" — which after a day of grammar work, was nice to hear.

I keep learning that Turkish grammar is an onion. Every layer you peel reveals another suffix, another harmony rule, another exception. But each one makes the app's output sound a little more natural. Worth it.

What's Next

Three known gaps left in the grammar benchmark: accusative case marking, word reordering, and one verb not in the dictionary. Plus I still need to get back to that original agenda I skipped today. But 679 tests and 383 grammar cases at 100% — not a bad detour.