In the small coastal town of Neapolis, North Carolina, two stories of sexual violence separated by 25 years collide when a true-crime podcaster arrives to cover a rape trial and is drawn into an unsolved death from the town's past.
Rachel Krall, the anonymous host of the hit true-crime podcast
Guilty or Not Guilty, drives to Neapolis to cover her first live trial: the case of Scott Blair, a 19-year-old champion swimmer accused of raping 16-year-old Kelly Moore. At a truck stop, Rachel finds a letter on her windshield from Hannah, Jenny Stills's surviving younger sister, who begs Rachel to investigate Jenny's death. Hannah claims Jenny was murdered in Neapolis 25 years earlier and that her killer will be in town. The letter unsettles Rachel, suggesting someone tracked her across three states and compromised her carefully guarded anonymity. She calls her producer Pete, who is hospitalized after a motorcycle crash and will work remotely.
In her opening podcast episodes, Rachel reconstructs the night of Kelly's assault. Kelly attended a party at her friend Lexi's house where someone spiked the soda with backyard moonshine, and Kelly became very drunk without realizing her drinks had been tampered with. After Lexi locked her out over a dispute about a boy, Kelly walked home through a dark field. Harris Wilson, a high school senior who had also attended the party, followed her to a nearby playground, where they shared bourbon and kissed. When Harris left briefly, Scott Blair appeared.
Hannah continues leaving letters in increasingly intrusive ways: pinned to the Morrison's Point jetty, slipped onto Rachel's hotel pillow, and left outside her door. In these letters, Hannah recounts her childhood. Jenny was more mother than sister, caring for Hannah while their mother Hope battled terminal cancer. Hannah describes teenage boys who gave them a ride in a pickup truck; Jenny was boxed into the cab, and the driver sped off with her. Jenny returned in the middle of the night, bruised and broken. The boys then spread vicious rumors that destroyed Jenny's reputation and isolated her completely. Their mother warned Hannah about one boy: Bobby, the one with gray eyes, whom she called the most dangerous of all.
Rachel investigates Jenny's death between court sessions. At the cemetery, she finds Jenny's tombstone graffitied with the word "WHORE." Newspaper archives show Jenny's drowning received minimal coverage, and the medical examiner closed the case as accidental despite Jenny's mother demanding a homicide investigation. The police station has no records of Jenny Stills in its system.
The trial features dramatic testimony. Prosecutor Mitch Alkins presents evidence that Scott was competing with his college roommate to sleep with the most girls in 30 days. Harris testifies that Scott instructed him to lure Kelly to the playground, planning to have sex with her regardless of consent. Forensic expert Dr. Wendy North testifies that Kelly's bruising indicates nonconsensual intercourse. Defense attorney Dale Quinn systematically undermines each witness, exposing Harris's lies and plea deal and pressing Dr. North to concede her conclusions are opinions.
Rachel's investigation yields critical discoveries. Stuart, the hospital morgue attendant, shows her secretly preserved photographs of Jenny's body revealing bruises inconsistent with accidental drowning, including one shaped like a shoe sole. Dr. North examines the photos and concludes Jenny was physically assaulted before her death. Rachel also discovers that bouquets with the card "Forgive me" are regularly delivered to Jenny's grave. She stakes out the cemetery at dawn and watches Alkins place flowers there. Confronted privately, Alkins confesses that Jenny was his first crush. He took her on a date and, influenced by rumors about her, pushed things sexually. Though his actions did not constitute rape, his behavior devastated Jenny. He left town in shame before she died and has ordered flowers to her grave every year since. He promises to help investigate.
Kelly takes the stand and describes how Scott restrained her, raped her repeatedly, forced her to swim naked, photographed her, rated her "C minus," and threatened to destroy her reputation. She mentions waking with a musty old shirt tucked over her like a blanket, one that did not belong to Scott. During cross-examination, Kelly has a severe panic attack after 11 minutes and cannot continue. Judge Shaw adjourns until Monday. The defense's expert witness then contradicts all the prosecution's forensic findings, and without Kelly's testimony the case appears lost.
Alkins asks Rachel to convince Dan and Christine Moore, Kelly's parents, to let their daughter return to the stand. Christine refuses to subject Kelly to further trauma, and Dan ultimately agrees with his wife. That night, rereading Hannah's letters, Rachel makes a crucial connection: Bobby covered Jenny with his own shirt like a blanket, and Kelly testified about waking with a shirt that was not Scott's. Rachel realizes that Vince Knox, a scarred man who had testified as a defense character witness, is actually Bobby Green. She learns from Pete that Scott's father blackmailed Knox into testifying by threatening to expose his true identity. Rachel confronts Knox before dawn, calling him by his real name, and he agrees to testify for the prosecution.
On Monday, Alkins recalls Knox to the stand. Knox reveals his real name and testifies that he found Kelly on the beach, covered her with his shirt, and then witnessed Scott return, force Kelly to shower to destroy evidence, and threaten her: "Scott, he did something bad to that girl. He raped her. And then he told her he'd do it again if she ever told anyone" (306). Quinn attacks Knox's criminal record, but Knox responds with emotional sincerity, and Judge Shaw rejects Quinn's motion to dismiss.
Hannah's final letters reveal the full horror of Jenny's last night. The boys assaulted Jenny in a forest clearing while Bobby carried Hannah to safety. When the boys threatened to assault Hannah, Bobby fought them, and they shoved his face into a bonfire. After the boys fled with the badly burned Bobby, the ringleader warned Jenny they would hurt Hannah if she ever told anyone. Left alone on the beach, Jenny told Hannah she needed an ambulance. Hannah walked barefoot to Rick's gas station and called 911, but when she returned, Jenny was gone. Police pulled her body from the water near the jetty.
Hannah identifies Jenny's killer with help from Rick, the terminally ill former gas station owner, who confirms the name of the boy he saw fleeing the beach that night. She asks Rachel to meet at the Morrison's Point jetty at midnight. Dan Moore arrives and confesses that he panicked after the assault, carried Jenny onto the jetty, and dropped her into the water. His father, Police Chief Russ Moore, covered everything up: He destroyed forensic evidence, framed Bobby Green for the car crash that killed two of the other boys, and ensured no investigation into Jenny's death. Dan pulls a gun on Rachel and Hannah. Hannah falls into the sea, and Rachel jumps in to save her as emergency services arrive, summoned by Pete after Rachel's surreptitious text.
The jury finds Scott not guilty of rape but guilty of sexual assault and sexual battery. Dan Moore's body is found tied to one of his boats in an apparent suicide, likely to spare Kelly from learning her father's past. Alkins shows Rachel and Hannah a brass plaque newly installed on the jetty commemorating Jenny, signed by the People of Neapolis. Hannah decides to stay in Neapolis to paint and live fully. Rachel takes the hotel's caged nightingale, a bird that never sang in captivity, and drives away as a tropical storm approaches.