In July 2016, Ava, a twenty-two-year-old Irish woman, arrives in Hong Kong after finishing college in Dublin. She has left Ireland out of unhappiness, motivated partly by a desire to escape a country where abortion is still illegal. She takes a job teaching English at a TEFL (Teaching English as a Foreign Language) school that only hires white teachers. Shortly after arriving, she meets Julian, a British investment banker who is Eton-educated and studied history at Oxford's Balliol College. They begin getting lunch together after meeting in a bar's smoking area. Julian calls them "friends," and Ava does not correct him. She enjoys his money and the sense that spending time with him will make her smarter; he enjoys how easily impressed she is.
By August, Ava spends most evenings at Julian's fiftieth-floor apartment in Mid-Levels, where they eat takeaway, drink wine, and talk. Julian asks probing questions about her working-class Dublin background while revealing little about himself. In September, they begin having sex. His remark that he "didn't want to impose" startles Ava, revealing a power dynamic she had not recognized. In early October, unable to afford her own deposit, she moves into his guest room.
Ava becomes preoccupied with Julian's wealth, puzzling over the gendered implications of him paying for everything while she performs domestic tasks for him. Her brother Tom, her closest confidant in Dublin, observes that Ava is drawn to wealthy partners as a way of quieting class anxieties. Julian introduces Ava to his social circle, including his friend Ralph and Ralph's girlfriend Victoria. Victoria confides that she is cheating on Ralph with a married hedge-fund manager and presses Ava with pointed questions about her arrangement with Julian.
In December, Julian leaves for three weeks in Tokyo. Ava struggles with his absence and accuses him on the phone of repeatedly reminding her he is not her boyfriend. She realizes she wants not reciprocation but a power imbalance that benefits her. On Julian's birthday in February, she gives him a tie; he tells her not to spend money on him instead of thanking her. At a party, she overhears his friend Seb mocking her accent and joking crudely about her. Julian redirects the conversation but does not defend her. Days later, he announces he will be in London for several months.
In March, with Julian gone, Edith Zhang Mei Ling enters Ava's life. Edith is a twenty-two-year-old Hong Kong-born trainee solicitor at Victoria's law firm who attended boarding school in England and then Cambridge. Victoria passes along spare theater tickets to Ava through Edith, and the two begin attending plays together weekly. Ava notices Edith's attentiveness to detail, from remembering that Ava does not like cheese to carrying a different designer handbag to each outing with the same organized travel case inside.
Ava's attraction intensifies through April and May. She discovers Edith's secret Instagram account featuring pencil sketches of buildings. Edith confides about her difficult boss, and Ava tells Edith about a sexual assault she experienced in college. Edith responds with quiet understanding. She later admits she never liked theater and had only pretended to impress Ava, shifting their dynamic toward honesty.
In late April, Edith visits the apartment. Ava introduces Julian as her flatmate but does not reveal they have been sleeping together. On Ava's twenty-third birthday in May, they go to a whiskey bar, and afterward, walking to the pier, Ava tells Edith: "I like girls. I like you." Edith kisses her.
They begin dating, and Ava finds sleeping with Edith transformative, calmer and more reciprocal than sex with Julian. Edith comes out as having always been exclusively attracted to women. Ava admits she spent her teens obsessed with unavailable women but never acted on her feelings, and Edith observes that Ava gravitates toward unavailable people to avoid confronting that being with them will not solve her problems. Ava continues messaging Julian in London, drafting but never sending messages about Edith. Edith brings Ava to meet her family and, during a late-night conversation, tells Ava she loves her. Ava says it back and means it.
At the end of July, Julian messages that he is returning to Hong Kong. Ava panics; she has told neither person the full truth about the other. Through a mistake, pressing "send" instead of "delete," she accidentally sends Julian a confession about Edith. He responds dismissively, reminding her they are not a couple. When Edith visits the apartment and finds her own T-shirt on Julian's bed, she confronts Ava, who tells her everything. Edith says the real issue is the lying. Ava promises to stop sleeping with Julian and to move out.
Julian arrives in September. At Edith's suggestion, the three take a ferry to Lamma Island for a tense but civil outing. On the walk back, Julian tells Ava privately that his father, Miles, has had a heart attack. Julian becomes erratic while caring for Miles, and his mother, Florence, flies in from England but never meets Ava. After Miles is released with medication, Julian asks Ava to stay until his father improves. Ava keeps pushing back her move-out date, and Edith grows frustrated.
In late October, Edith confronts Ava at a bookstore café, telling her she pushes away everyone who offers intimacy. She urges Ava to come stay with her family that night. When Ava resists, Edith threatens to end things. Ava responds: "I'm breaking up with you anyway." Edith laughs, clears the dishes, and walks out.
Ava spirals through November, spending weeks at a Starbucks typing and deleting unsent messages to Edith. The drafts evolve from apologies to explorations of why she fears intimacy, connecting her difficulty with love to growing up queer in Ireland. She does not tell Julian what has happened, saying only that things are difficult at home. She asks if they can have sex and finds it cathartic, an acceptance that he will never be her boyfriend.
At the end of November, Julian tells Ava his bank is transferring him to Frankfurt in three weeks. He has known since September. He says Ava is "quite important" to him and asks her to come with him. She says yes. She begins a weighted PMI table, a pluses-minuses-implications decision-making method Edith once sketched for her on a napkin. The result is a draw.
One night, Ava drafts a final message to Edith, confessing she is done being a coward and that Julian can never hurt her as much as Edith can, not because he would not, but because there is nothing at stake with him. Three dots appear under Edith's name. Ava realizes Edith may have seen her typing throughout all the weeks of unsent drafts. Rather than horrifying her, this thrills her. She calls Edith.
In the novel's final pages, Ava hands back the keys to Julian's apartment and takes the train to Central station. Her bag is light; she has given away most of her clothes. Julian has already left for Frankfurt. At Central, Ava spots Edith on the escalator ahead. Instead of waiting at their planned meeting point, Ava cuts into the climbing commuters and sprints up the escalator, laughing at how close she is, choosing Edith.