Juliet Young, a high school senior in Annapolis, Maryland, writes letters to her dead mother and leaves them at her gravestone. Her mother, Zoe Rebecca Thorne, was a world-famous photojournalist killed in a hit-and-run crash on May 25 while returning from the airport in a taxi. Juliet's grief has left her isolated and emotionally distant from her father, Charles, who has retreated into his own silent mourning.
Declan Murphy, another senior, discovers one of Juliet's letters while performing court-ordered community service mowing the cemetery. The date on Zoe's headstone strikes him: May 25 is also the day he got drunk and drove his father's pickup truck into an empty office building. Moved by the letter's raw pain, he scrawls "Me too" beneath Juliet's words. When Juliet finds the response, she is furious and writes an angry letter accusing the stranger of violating her private grief. Declan writes an apology. What begins as hostility becomes an anonymous correspondence in which both teenagers share their deepest pain.
Four years earlier, Declan's younger sister, Kerry, was killed in a car crash caused by their father, Jim, a functioning alcoholic who owned a custom auto shop. Since the age of 13, Declan had secretly driven his father home from work to prevent accidents, a role his mother, Abby, knew about and relied on. On the day Kerry died, Declan refused to drive because Abby had canceled a trip he had been looking forward to. Jim went out drunk and took Kerry with him. Jim was sentenced to 10 years in prison, and Declan has carried the guilt ever since. On the night of May 25, Declan crashed Jim's truck in what he later reveals was a suicide attempt. He survived, was arrested, and now lives under curfew and probation with Abby and her new husband, Alan Bradford, an insurance salesman who treats Declan with open contempt. Abby has grown passive and distant.
Juliet's grief has strained every relationship in her life. Her best friend, Rowan, tries to help but quotes self-help advice that only irritates Juliet. When Charles plans to sell Zoe's photography equipment to her former editor, Ian, Juliet has a breakdown. Charles agrees to keep the equipment, which Juliet takes to her room but cannot bring herself to use.
Declan shares the letters with his best friend, Rev Fletcher, who lives nearby. Rev was adopted five years ago by a Black couple, Geoff and Kristin, after being severely abused by his white birth father. Rev encourages Declan to keep writing. Eventually, Declan proposes they move to anonymous email accounts. He creates an account under the handle "The Dark," and Juliet creates one under the name "Cemetery Girl." Their exchanges grow more frequent and intimate.
At school, Juliet and Declan clash without knowing they are each other's confidants. When Juliet collides with Declan in the hallway and spills his coffee, a teacher sends Declan to the principal's office despite it being Juliet's fault. She notices a flash of vulnerability in his eyes that makes her want to pick up a camera for the first time since her mother's death. Later, her former photography teacher, Mr. Gerardi, convinces her to shoot candid photos at the school's Fall Festival. Her first photograph since Zoe's death is of Declan and Rev sitting apart from the festivities, captured in contre-jour, or backlit, lighting. When Declan confronts her and demands she delete the photo, Brandon Cho, a fellow photography student, intervenes and insults Declan; Rev pulls Declan away.
Inspired by The Dark's encouragement, Juliet accepts Brandon's invitation to the Homecoming dance. At the dance, she and Declan clash again; outside the gym, she calls him a loser with a criminal record, causing him to shut down and walk away. Juliet flees in tears and drives to the cemetery, where her car battery dies and a tire blows out. She messages The Dark for help. Declan, driving to assist Cemetery Girl, recognizes Juliet's distinctive yellow car and realizes his anonymous confidant and the girl who insulted him are the same person. Shocked, he drives past, but then returns alone, changes her tire in the rain, jump-starts her car, and follows her home without revealing his identity. During the drive, Juliet admits she is afraid of him. Declan tells her about Rev's abusive past, explaining that Rev's father used to photograph the injuries he inflicted, leaving Rev unable to tolerate having his picture taken. The conversation begins to shift Juliet's perception of Declan.
Juliet tells The Dark about Declan's unexpected kindness, and he encourages her to see people beyond a single defining moment. Meanwhile, Declan builds meaningful relationships: Frank Melendez, his community service supervisor, becomes a trusted mentor, and Mrs. Hillard, his English teacher, assigns him the poem "Invictus" by William Ernest Henley, which resonates deeply. Declan's mother collapses and is hospitalized. At the emergency room, Declan learns she is four months pregnant and that she and Alan have been hiding the pregnancy from him.
Rev confronts Declan in the cafeteria, calling him a martyr for refusing to reach out for help. Rev mentions the date May 25 in front of Juliet, who connects it to her mother's death and has a panic attack, fearing Declan was involved in the hit-and-run. Brandon compares police reports and proves Declan was not responsible: Zoe died at 7:46 p.m., and Declan did not get behind the wheel until 8:01 p.m. Brandon suggests Zoe might have photographed the fleeing vehicle. Juliet checks her mother's digital memory cards but finds only war-zone images. The film camera remains undeveloped.
Juliet develops her mother's film in Mr. Gerardi's darkroom and discovers photographs of Zoe in bed with Ian. She also finds a boarding pass dated May 22, three days before Zoe was supposed to arrive home, confirming that her mother returned early to be with Ian rather than her family. Juliet destroys the camera in a rage, flees to the cemetery, and punches her mother's gravestone until her hands bleed. Declan finds her during his shift, pulls her away, and holds her while she cries.
Declan encounters Alan's broken-down car on the roadside and stops to help. During their first honest conversation, Alan admits he misjudged Declan and reveals that he and Abby hid the pregnancy out of fear that Declan would hurt himself again. Declan agrees to attend family therapy. Juliet tells Charles about the affair, and he reveals he already knew, having stayed in the marriage for Juliet's sake. He reassures her that Zoe loved her deeply despite her failings.
Declan emails Juliet from his real school account, revealing himself as The Dark. Juliet writes back with relief rather than anger, telling him she is glad he never revealed himself sooner because she was not ready to let go of their anonymous connection. At home, Abby apologizes to Declan for not being there for him. Rev, inspired by Declan's willingness to change, pushes back his hoodie at school for the first time, a quiet but significant gesture given his history of hiding scars from his father's abuse. At school, Declan takes Juliet's hand and leads her outside. They struggle to speak openly after months of anonymous intimacy, so he pulls her close and whispers, recreating the closeness of their written exchanges. He tells her she was the first person to see all of him. Juliet places her hands on his face and tells him she sees all of him now. Declan kisses her.