Skip to content
By NudgeDesk

Gujlish, Hinglish and Code-Switching: Why Most Chatbots Lose Your Customers

Real customers do not type textbook English. They mix Gujarati, Hindi and English in one line and spell the same word three ways. Here is why keyword bots and monolingual AI break on that, and how code-switching AI mirrors the customer instead.

Language AI Customer experience

Open your own WhatsApp and read how customers actually message you. You will almost never find a clean English sentence. You will find things like “aa red color ma made 6 available? price ketla?” and “bhai isme small size hai kya, kitne ka padega”. One line, two or three languages, spellings that would fail a spelling test. This is not broken language. This is how a billion people talk when they are comfortable, and it is the single biggest reason most chatbots quietly lose the sale.

Code-switching is the norm, not the exception

Linguists call it code-switching: moving between languages inside a single conversation, often inside a single sentence. In India it is the default register for anyone bilingual, which is most people. A Gujarati shopper types Gujlish, Gujarati words in Latin script folded into English. A Delhi customer types Hinglish. A Chennai customer types Tanglish. They are not doing it to be difficult. They are doing it because it is faster and more natural than switching fully into English.

And they are inconsistent on purpose. “Kem cho” gets typed as “kem cho”, “kem6o”, “kemcho”, “kem chho”. The 6 stands in for “chh” because that is how the sound maps on a phone keyboard. A human reading it understands instantly. Software that is looking for an exact string does not.

Why keyword bots fail on the first message

The old generation of chatbots works by matching keywords. If the message contains “price”, send the price reply. If it contains “timing”, send the hours. This looks fine in a demo written in English and falls apart the moment a real customer types.

“Price ketla” does not contain the English word “price” as a clean token the bot expects, and it certainly does not contain “cost” or “how much”. “Aa available che?” has no keyword the bot was told to watch for. So the bot either sends a generic “Sorry, I did not understand” or, worse, fires the wrong canned reply. Now the customer is talking to something that clearly cannot read them, and the trust is gone in one message. They do not fill out your fallback form. They message the next shop.

The failure is structural. A keyword bot is a lookup table pretending to be a conversation, and code-switched, loosely spelled input is exactly the case a lookup table cannot handle.

Why monolingual AI also fails, more subtly

You might think a modern language model fixes this automatically. It helps, but a naive setup still fails in two quieter ways.

First, tone matching. A customer writes in warm, casual Hinglish and a monolingual-English AI answers in stiff, formal English. Technically it understood the question. Socially it just told the customer “you are talking to a machine that does not sound like you”. The reply is correct and cold, and cold loses sales in a channel that is supposed to feel like a person.

Second, drift. Ask a general model to reply in Gujlish and it will often over-formalize, invent Hindi where the customer used Gujarati, or slide back into pure English after a message or two. Code-switching is a documented weak spot for even the strongest models, because the training data rewards clean, single-language text. Getting it right consistently is a real engineering problem, not a checkbox.

What code-switching AI does instead: mirror the customer

The fix is to treat the customer’s own message as the instruction for how to reply. Read the language mix, read the register, read the loose spelling, and answer in the same key.

  • English in, English out. “Is this available in red? How much?” gets a clean English reply.
  • Hindi-mixed in, Hinglish out. “bhai isme red hai kya? price kya hai” gets “Haan bhai, red available hai. ₹1,200. Aur koi size chahiye?”
  • Gujlish in, Gujlish out. “aa red ma 6 made? price ketla?” gets a Gujlish reply that sounds like the shop, not like a form.

Underneath, the input is normalized first, so “kem6o”, “kemcho” and “kem chho” all resolve to the same intent before the model ever answers. The customer never sees that step. They just experience a reply that read them correctly on the first try, in their own voice.

Why solving the hardest version first matters

There is a strategic reason to start with Gujlish rather than something easier. Gujlish is one of the hardest code-switching problems there is: two languages, a non-native script, phonetic spelling that varies per person, and very little clean training data. Solve it properly and the same architecture handles Hinglish, Tanglish, Spanglish, Franglais and Taglish almost for free, because they are all the same underlying problem in different clothes.

That is the practical point for a business owner. You do not need a bot that can pass an English exam. You need one that can read the actual, messy, three-language, misspelled message a real customer just sent, and answer it like a person who works at your shop. Everything else is a demo. This is the sale.

See it do this on your own DMs.

Fifteen minutes, no slides. We reply to your real Instagram and WhatsApp enquiries live on the call, in your customers' language.