The year is 2002, and Shirin is a 16-year-old American Muslim girl who’s grown tired of constantly moving from town to town and being subjected to racism and ignorance at each new school she attends. Because Shirin wears a hijab, or headscarf, her classmates and teachers are quick to treat her differently, assuming English isn’t her first language and asking Shirin invasive personal questions. Once, right after 9/11, two boys from one of Shirin’s old schools even followed Shirin home and tried to choke her with her hijab.
At the beginning of the novel, Shirin is about to start her sophomore year at her third new high school in two years. Also attending Shirin’s high school is her older brother Navid, who is in his senior year. Unlike Shirin, who puts on a tough exterior and avoids interacting with her classmates, Navid quickly becomes popular for his charismatic demeanor and good looks. Despite Shirin rejecting her brother’s invitations to have lunch with him and his new friends, Shirin soon finds herself joining Navid’s social circle: Navid decides to start a breakdancing crew with his friends Bijan, Carlos, and Jacobi, and Shirin jumps at the opportunity to finally pursue her interest in breakdancing.
Meanwhile, in Shirin’s classes, she continues ignoring her classmates but keeps crossing paths with Ocean, who’s assigned to be her lab partner in biology. After Shirin gives Ocean her phone number so they can discuss an unfinished lab report, the two begin talking to each other online. Ocean perplexes Shirin: he asks her questions about herself, says hello when they run into each other at the gym, and asks if he can come over for dinner to learn about Persian food. Because she’s gotten so used to having negative experiences with ignorant classmates, the idea of a quintessential White American boy like Ocean wanting to befriend her confuses Shirin.
One day, in Shirin’s Global Perspectives class, her teacher Mr. Jordan asks Shirin and Travis, another student, to participate in an exercise to jumpstart the class’s discussion on prejudice. As part of the exercise, Travis hesitantly tells the class that Shirin is invisible to him, which hurts Shirin and leads her to walk out of the room. Ocean, who Shirin initially didn’t realize was in this class, follows Shirin out to check on her. The two walk to a nearby IHOP. Alarmed at her sudden realization that she finds Ocean attractive, Shirin asks Ocean why he keeps trying to get closer to her, and Ocean shyly explains that he thinks Shirin is cool—and beautiful.
Later, Shirin heads to a tree in the school’s courtyard and meets Yusef, who’s also Muslim and is of Lebanese descent. Yusef tells Shirin that it’s brave of her to wear a hijab, and Shirin thinks that school is becoming more enjoyable. At breakdancing practice, Shirin and Navid discuss what happened in class. Jacobi joins the conversation to tell Shirin that it makes sense for her to be angry, but he’s learned firsthand that being angry all the time isn’t the answer. When Shirin later runs into Mr. Jordan, he convinces her not to drop his class and wishes her good luck at the talent show, which she didn’t know Navid signed their crew up for.
Tensions between Shirin and Ocean rise. In biology, the two knock into each other, and as Ocean prevents Shirin from falling, her lips graze his neck. Over the phone, Shirin and Ocean have a conversation about their feelings for one another and agree to get to know each other better. However, Shirin becomes overwhelmed by envisioning a relationship with Ocean because she believes that their classmates’ and teachers’ disapproval would make things too difficult. Shirin begins ignoring Ocean, but when he later confronts her, they share their first kiss in his car. After hearing people talk about Shirin and Ocean, Navid confronts his sister and asks if she even knows who Ocean is: the star player of the school’s basketball team and a junior.
Shirin and Ocean start spending more time together. Ocean attends a breakdancing battle with Shirin and Navid, and when Navid allows the two of them to spend an hour alone together, Ocean confesses to Shirin that he only plays basketball because so many people—his team, Coach Hart, and his mother, Linda—are counting on him. Shirin urges Ocean to think about how putting everyone else’s desires above his own is putting a strain on his mental health, and Ocean remarks that it feels good to be cared for. Soon after, Ocean celebrates Thanksgiving with Shirin’s family, though Shirin doesn’t tell her parents that they’re romantically involved. Nonetheless, Shirin’s parents adore Ocean’s politeness and curiosity about Persian food. Shirin and Ocean secretly share a kiss in her room, and Ocean implies that he might be falling in love with her.
One morning, Shirin lets Ocean drive her to school for the first time. When they arrive, one of Ocean’s acquaintances calls Shirin “Aladdin,” and another throws a cinnamon roll at her, which dirties her hijab. As Shirin takes off her hijab to wash it off in the bathroom, a girl snaps a photo of her and quickly circulates it around the school. When Navid and the rest of the breakdancing crew hear about what’s happened, they set off to discover who threw the cinnamon roll at Shirin and end up beating him up.
Although no one ever throws anything at Shirin again, someone sends out a mass email accusing Ocean of supporting terrorism because he has a Muslim girlfriend. Coach Hart finds Shirin and shouts at her, demanding that she end her relationship with Ocean before she ruins his life. Because Ocean refuses to break up with Shirin, even his mother, Linda, approaches Shirin, telling her to break up with him. Linda reveals that Ocean needs a basketball scholarship to attend college because she’s spent the money that Ocean thought was set aside for him. Feeling like she has no choice, Shirin tells Ocean that they have to stop seeing each other.
School lets out for winter break, and Shirin begins pouring herself into breakdancing. After becoming friends with Navid, Yusef starts coming to practice, and Shirin notices that Yusef seems to like her but doesn’t make a move. When school starts up again, Ocean sees Shirin and Yusef together, then gets suspended for fighting. The school talent show finally comes around, and Shirin and her crew end up winning the competition. After the win, people suddenly begin treating Shirin differently, talking to her about dancing and inviting her to parties. Ocean belatedly congratulates Shirin, and she confesses that he misses him, which leaves Ocean confused. Shirin later realizes that Ocean has stolen her diary out of her locker.
After reading Shirin’s diary, Ocean confronts Coach Hart and punches him in the face, which leads to him being threatened with expulsion. Shirin and Ocean finally reunite as Ocean unexpectedly shows up at her house. They go to his home, where Ocean apologizes for stealing her diary and for all the difficulties that Shirin faced alone. The two kiss and reconcile, and Shirin tells Ocean she loves him.
Ocean ultimately isn’t expelled from school but quits his basketball team, and he and Shirin begin to enjoy a relatively normal school life as their relationship gradually becomes old news. However, their time together comes to an end as Shirin’s father decides that their family will move to a new town at the end of the school year. When moving day comes, Ocean watches Shirin’s family drive away. Just when Shirin can no longer see him, he texts her to not give up on him, and Shirin tells the reader, “And I never did.”