Creating the Awaz

How I used programming language syntax to create the Awaz—the voice inside my protagonist Kamaal—in The Model Muslim.

Every language has its own way to arrange words—its own syntax, structure, rhythm. If you're multilingual, you've unlocked how to say the same thing in two completely different ways. I can say "I love you"—three famous words—or in Urdu, "Main tumse pyar karta hoon." It means the same thing, but literally translates to "I perform the act of love to you." Different language, same message.

Coding works the same way. Each programming language gives you different ways to do the same thing. A simple example:

# Below prints hello world
print("Hello world")

That prints a string of text: "Hello world."

In Java, it's a bit more involved:

// Below prints hello world
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World");
    }
}

They both do the same thing. And I'm not a Java expert, so don't ask me why it's so much more complicated in that language.

So how does this relate to my novel? Look at the first line in those snippets—the "comment." In code, a comment is skipped by the interpreter or compiler; it's only there to help a human understand what's going on.

In The Model Muslim, you meet the Awaz—the voice inside my protagonist Kamaal—through a similar device. (Fun fact: Awaz in Urdu translates to "voice" 😊) I give the Awaz its own dialogue tag. Here are a few lines from the opening chapter:

Apparently, my oracle believed that a third would push me beyond whatever invisible line it had drawn. Allah forbid I decide where that line should be.

// Two is enough, Kamaal. Two keeps you steady, // my Awaz said, the way someone tries to soothe a child. // You know I wouldn't ask without reason. //

Forcing a smile at the barista, I took the chai like a dose, stirred it once, and let the spoon tap out my compliance.

The Awaz is its own character living in Kamaal's head. I use two forward slashes // to indicate when the Awaz is speaking—the same symbol many languages use for comments. Think of Kamaal as the function that runs, and the Awaz as the commentary: the entity advising, nudging, sometimes nagging him about what to do.

That creates a tension that turns inner conflict into something you can hear. The Awaz recommends actions; Kamaal decides whether to obey. Especially when the advice clashes with choices around his queer identity.

The Awaz also functions as another POV to play against Kamaal. The novel actually opens with a short passage from the Awaz's perspective:

I can already feel it:
the jaw tightening,
the heat at his neck,
the curse meant only for me.
The blame, always the blame,
as if I chose the deviation myself.

You'll notice the Awaz's voice isn't mechanical or code-like; it's verse-like. Conventionally, we'd call that novel-in-verse. My book uses it sparingly, not for the entire narrative, but enough for you to feel how the Awaz "feels"—its urgency, its rationale, its yearning for Kamaal to accept its recommendations—across both timelines: teenage Kamaal and decades-older Kamaal.

It's also just more interesting to read than big code blocks, which are easy to skim. The tradeoff is that this choice risks making the Awaz feel empathetic. If the Awaz is a stand-in for AI, what am I saying—does AI care about us? Or is the Awaz only a messenger for outputs from a larger algorithm? I expect readers to land on one side or the other, and that debate is part of the point.

Thanks for reading. I hope this gave you a peek at programming languages, and how I borrowed their "syntax" to shape one of the central characters in The Model Muslim.

—Saad

← Back to Blog