Thornbird Characters
by E. Kennedy

Thornbird's cast is a tight, tangled web of small-town relationships built around Ryan Shipley, a girl hiding from her father's legacy. She anchors the story, but she is surrounded by everyone from true crime podcasters and grieving relatives to cousins, classmates, and the family of a victim.
On this page you'll find each character's role, from antagonists like Gabriel Thorn and JP James to supporters like Jasmine and Connor. You'll also get descriptions, key arcs, and relationships, showing how they connect to Ryan and to each other without spoiling where it all lands.
Main Characters
Ryan Shipley (born Gabrielle Thorn)
ProtagonistA teenage girl who was born Gabrielle Thorn, daughter of serial killer Gabriel Thorn, and who hides as Ryan Shipley in Starling, Tennessee after also using the alias Ryan Mayfair. She keeps her father's identity secret because she is terrified of judgment and ashamed of her bloodline, while grieving the mother Gabriel murdered. A cremation-diamond locket made from her mother's ashes is her most treasured possession.
Arc: Ryan starts determined to be 'Ryan Shipley the Perfect' and bury her past, but buried memories, her father's suicide, and the discovery of his victims force the truth out. She reconciles with her family, confronts the real killer of Leah Devereaux, and finally rides out of Starling with Chase, choosing a new life over running.
- Gabriel Thorn — her father; serial killer on death row
- Sarah Thorn (Mayfair) — her murdered mother
- Maggie Shipley — her aunt and guardian
- Jasmine Shipley — her twin cousin and roommate
- Connor Shipley — her twin cousin
- Dan Shipley — her uncle
- Everett James — boy she dates and later forgives after his confession
- Chase Hedlund — love interest she leaves with
- JP James — her shelter boss who is revealed as the killer of his wife
- Mar (Amaryllis Sullivan) — close friend and photography partner
- Zed (Logan Zellman) — podcaster who reveals her identity to the school
- Natalie Singh — daughter of her father's first victim
Gabriel Thorn
AntagonistThe 'Starling Slayer,' a serial killer who called the women he killed his 'sparrows' and who murdered Ryan's mother Sarah. He refuses to reveal where the bodies are, leaves cryptic letters and a suicide note signed with bird names, and kept a hidden bunker of caged skeletons and drawings. He dies by suicide in prison on the eve of his execution.
Arc: He never appears as a living actor; his shadow looms over the whole story. His letters, confession, and journal drive Ryan toward the hidden victims, and only after his death is it revealed that Leah Devereaux was not actually killed by him.
- Ryan Shipley (born Gabrielle Thorn) — his daughter, whom he called Gabby and 'little sparrow'
- Sarah Thorn (Mayfair) — his wife and victim
- Leah Devereaux — woman he sketched and was wrongly believed to have killed
- Lydia Singh — his first victim
- Anabel White — one of his victims
JP James
AntagonistAnimal-shelter owner and father of Everett and Nikki; outwardly kind to Ryan and offers her work at the shelter. It is eventually revealed that after Leah survived falling into the wishing well, JP panicked and sealed her inside, burying her alive when she threatened to go to the police. He let Everett believe for a decade that he had accidentally caused his mother's death.
Arc: He keeps his secret until Ryan confronts him with the red fingernails Leah left at the lip of the well. He confesses to burying Leah alive and is later charged with obstruction and improper disposal, while his children become estranged from him.
- Leah Devereaux — his wife, whom he buried alive
- Everett James — his son, who carried false guilt for Leah's death
- Nikki James — his daughter, who stops speaking to him
- Ryan Shipley (born Gabrielle Thorn) — his volunteer and the person who exposes his crime
Supporting Characters
Chase Hedlund
SupportingEverett's best friend and a high-school bad boy who works as a mechanic apprentice to help his mother. He is initially hostile to Ryan because he is protective of Everett, but he becomes drawn to her, takes her on his motorcycle, and helps dig up her father's hidden bunker. He repeatedly tells Ryan she is not defined by her father's crimes.
Arc: Chase goes from confronting Ryan over hurting Everett to falling for her and supporting her through grief and exposure. He asks her to take a road trip with him after graduation, and she chooses to leave town with him.
- Ryan Shipley (born Gabrielle Thorn) — his love interest and eventual companion
- Everett James — his best friend; his secret relationship with Ryan feels like a betrayal to Everett
- Georgia — his mother
- Deputy Price — police officer who has caught him before
Everett James
SupportingThe popular quarterback, son of JP and missing Leah, and brother of Nikki. Ryan dates him early on, but she pulls away because she knows her father killed his mother. He is also the anonymous texter: he opened her locket, learned her identity as Gabrielle Thorn, and sent threatening messages while pursuing her to find out what she knew. As a child he accidentally pushed his mother into the wishing well and spent years believing he killed her.
Arc: His guilt curdles into obsessive behavior, but after the truth about the well reaches him he confesses to the messages and to his mother's fate. He is forgiven by Ryan, defers his scholarship, and stays behind to repair his relationship with Nikki.
- Ryan Shipley (born Gabrielle Thorn) — former girlfriend whom he harassed and later asked for forgiveness
- Chase Hedlund — his best friend
- JP James — his father, who concealed the truth about Leah
- Nikki James — his sister
- Leah Devereaux — his mother, whose death he believed he caused
- Sofia — his ex-girlfriend
Jasmine Shipley
SupportingOne of the Shipley twins and Ryan's cousin and roommate, daughter of Maggie and Dan. She is social, energetic, and protective of the family image, but her shame about Gabriel Thorn and her desire for the million-dollar reward pull her into true-crime searching. When Ryan's real identity is exposed, Jasmine feels betrayed and freezes her out before eventually reconciling with her.
Arc: Jasmine moves from treating the Thorn case as gossip and reward material to taking part in the search for the bodies. After the reveal she rejects Ryan, then apologizes and asks to start fresh, eventually helping dig up the bunker.
- Ryan Shipley (born Gabrielle Thorn) — her cousin and roommate
- Connor Shipley — her twin brother
- Maggie Shipley — her mother
- Dan Shipley — her father
- Nikki James — a friend, though they drift apart
- Bo — her on-and-off date
Connor Shipley
SupportingJasmine's twin and Ryan's steady, protective cousin. He is skeptical of true-crime fanatics, jokes easily, supports Ryan after her father's death, and asks her to be his Valentine's Dance date. He helps Ryan dig up her father's bunker and sees her as innocent no matter what Gabriel Thorn did.
Arc: Connor stays loyal to Ryan through the exposure of her identity and helps her uncover the bodies. He urges her not to carry her father's guilt and remains a supportive family presence until she leaves.
- Ryan Shipley (born Gabrielle Thorn) — his cousin and friend
- Jasmine Shipley — his twin sister
- Maggie Shipley — his mother
- Dan Shipley — his father
- Kabir — his friend
Maggie Shipley
SupportingRyan's aunt, guardian, and the mother of Jasmine and Connor. She helped create the cover story that Ryan is a Shipley cousin and tries to shield Ryan from the town's hatred of the Thorn name. She comforts Ryan, takes her to therapy appointments, and fiercely defends her when FBI agents press her too hard.
Arc: Maggie is torn between protecting Ryan and keeping family secrets, including Dan's hidden history. In the end she lets Ryan go with love, making her promise to check in.
- Ryan Shipley (born Gabrielle Thorn) — her niece and charge
- Sarah Thorn (Mayfair) — her deceased sister
- Dan Shipley — her husband
- Jasmine Shipley — her daughter
- Connor Shipley — her son
Dan Shipley
SupportingRyan's uncle, Maggie's husband, and father of Jasmine and Connor. He welcomes Ryan into the family and later takes her to her childhood home for a kind of closure. It is eventually revealed that he had a secret affair with Leah Devereaux, which ended before her disappearance.
Arc: Dan keeps his affair hidden until Ryan confronts him, then admits it with remorse. He supports Ryan through the family fallout and bids her goodbye as a father figure.
- Ryan Shipley (born Gabrielle Thorn) — his niece, whom he treats like family
- Maggie Shipley — his wife
- Jasmine Shipley — his daughter
- Connor Shipley — his son
- Leah Devereaux — his former affair partner
Nikki James
SupportingEverett's younger sister and daughter of JP and Leah. She is hostile to Ryan, sneers at her, steals petty cash, and is the one who took Ryan's locket months before the climax. When Gabriel Thorn's execution is thwarted by suicide, she screams for justice, and after Ryan's identity is revealed she attacks Ryan at the Valentine's Dance.
Arc: Nikki's unresolved grief over her missing mother makes her act out and lash out. After the truth about Leah's death comes out, she stops speaking to both Everett and JP, and Everett defers his scholarship to try to win back her trust.
- Everett James — her older brother
- JP James — her father
- Leah Devereaux — her mother
- Ryan Shipley (born Gabrielle Thorn) — someone she blames because Ryan's father was believed to have killed Leah
- Jasmine Shipley — her friend
Leah Devereaux
SupportingWife of JP and mother of Everett and Nikki. Publicly she is remembered as Gabriel Thorn's last official victim, but the truth is that she survived falling into the wishing well and was sealed inside by JP when she threatened to go to the police. Ryan finds the red fingernails she left at the lip of the well, showing she clawed at the concrete while still alive.
Arc: Leah does not appear alive in the story; her disappearance is the central mystery. The gradual recovery of her true fate lets Ryan and Everett finally release the guilt they have carried.
- JP James — her husband, who buried her alive
- Everett James — her son, who accidentally pushed her into the well
- Nikki James — her daughter
- Dan Shipley — her former affair partner
- Gabriel Thorn — the man publicly assumed to have killed her
Mar (Amaryllis Sullivan)
SupportingRyan's blunt, outspoken friend from photography class, whose full name is Amaryllis Sullivan. She is skeptical of true-crime hunters, loves photography, and becomes close enough to Ryan that she gives her a framed photo for Christmas and later provides an alibi. Jasmine initially calls her weird, but Mar matters to Ryan as a friend outside the Shipley family.
Arc: Mar stays a grounding presence while Ryan spirals, though she is kept in the dark about Ryan's identity until it is publicly exposed. She is one of the friends who treats Ryan as normal before the secret comes out.
- Ryan Shipley (born Gabrielle Thorn) — her close friend and photography partner
- Ty — mutual friend in their lunch group
- Zed (Logan Zellman) — she openly mocks his investigation
Zed (Logan Zellman)
SupportingA true-crime podcaster and the creator of the Free the Sparrows forum. He investigates Gabriel Thorn relentlessly, releases the leaked 911 call, and tries to recruit Ryan as a partner in finding the bodies. He finally hijacks the Valentine's yearbook video with a prerecorded expose revealing Ryan as Gabrielle Thorn.
Arc: Zed sees the case as entertainment and a chance for attention, admitting he may have pushed too far. After the reveal he denies sending Ryan the threatening texts, apologizes unconvincingly, and continues to appear on true-crime shows.
- Ryan Shipley (born Gabrielle Thorn) — subject of his investigation and public expose
- Gabriel Thorn — the killer he obsessively investigates
- Mar (Amaryllis Sullivan) — classmate who is hostile to him
- Jasmine Shipley — calls her Jazzy; she recommends Ryan for the yearbook video
Natalie Singh
SupportingDaughter of Lydia Singh, Gabriel Thorn's first victim. She appears after Ryan's identity is exposed and tells Ryan she has spent years not knowing where her mother is. She has been through extensive therapy and understands living in the shadow of Thorn's crimes.
Arc: Natalie presses Ryan to keep trying hypnosis, because the victims' families deserve closure. Her confrontation with Ryan makes Ryan resolve to continue the memory recovery for as long as it takes.
- Lydia Singh — her mother and Gabriel Thorn's first victim
- Ryan Shipley (born Gabrielle Thorn) — daughter of the man who killed her mother
- Ms. Steinfeld — appears to be her friend
Sarah Thorn (Mayfair)
SupportingRyan's mother and Gabriel Thorn's wife, killed by Gabriel after she tried to leave with her daughter. She appears in Ryan's memories as a mother who danced barefoot with Gabriel and later screamed at him after discovering his hidden sketches. Her grave is inscribed Sarah Mayfair, and grass around it has been worn away by morbid visitors.
Arc: Sarah is dead before the present story, but her memory haunts Ryan's grief, guilt, and the locket made from her ashes. Ryan eventually learns she was shot during a struggle and accepts that she may never know whether Gabriel pulled the trigger intentionally.
- Ryan Shipley (born Gabrielle Thorn) — her daughter
- Gabriel Thorn — her husband and killer
- Maggie Shipley — her sister
- Gran — her mother
Agent Luke Foster
SupportingAn FBI agent involved in Gabriel Thorn's case. He initially interrogates Ryan aggressively and accuses her of knowing where victims are buried, then later apologizes and proposes hypnosis to recover her buried memories. He gives Ryan her father's journal from evidence and discusses whether Gabriel falsely confessed to killing Leah.
Arc: Foster moves from suspecting Ryan to partnering with her in the search for the truth. He becomes part of the investigation that finally uncovers Gabriel's bunker and the missing piece of the case.
- Ryan Shipley (born Gabrielle Thorn) — the key witness he pressures, then tries to help
- Dr. Wilmer — the psychiatrist he arranges for Ryan to see
- Tom Kulpa — another FBI agent connected to the case
Tom Kulpa
SupportingA special agent who worked Gabriel Thorn's case. He meets Ryan with Agent Foster, gives her the manila folder containing her father's suicide note, and asks gently whether she knew any special places her father took her. He tells Ryan he met her as a child when she showed him her dolls, though she does not remember him.
Arc: Kulpa has no personal arc; he appears as a measured, sympathetic counterpart to Foster's aggression. His role is to hand Ryan her father's cryptic final message.
- Ryan Shipley (born Gabrielle Thorn) — he tries to question her gently about her father
- Gabriel Thorn — the killer whose case he worked
Dr. Wilmer
SupportingThe psychiatrist who performs hypnosis sessions with Ryan. She guides Ryan through visualizations of a locked door and a staircase to recover repressed memories. When Ryan panics at the memory of her father's violence, Wilmer brings her safely back to the present.
Arc: Dr. Wilmer helps Ryan recover the memory of seeing Leah Devereaux in Gabriel's studio. The narrator ultimately decides to keep trying hypnosis with her until the missing pieces of the case surface.
- Ryan Shipley (born Gabrielle Thorn) — her patient
- Agent Luke Foster — she has worked with him before
Benjamin White
SupportingSon of Anabel White, one of Gabriel Thorn's victims. He holds a press conference in Starling and announces that the reward for information leading to discovery of the victims' remains is being raised to one million dollars. He asks for peace and closure for the victim families.
Arc: Benjamin appears early to raise the stakes of the search. His appeal for closure contrasts with locals who treat the reward as a money-making opportunity.
- Anabel White — his mother and Gabriel Thorn's fifth victim
Gran
SupportingRyan's deceased maternal grandmother, who raised Ryan after Sarah was murdered. She gave Ryan the cremation-diamond pendant and tried to give Ryan agency by letting her pick a new name. She had a falling-out with Maggie over Maggie's choice of husband.
Arc: Gran only exists in memories and backstory. Her death is what sends Ryan from Allentown to live with the Shipleys in Starling.
- Ryan Shipley (born Gabrielle Thorn) — her granddaughter and former guardian
- Sarah Thorn (Mayfair) — her daughter
- Maggie Shipley — her other daughter, with whom she had a rift
Ty
SupportingA student in Ryan's French class and part of her lunch friendship group. He joins with Kabir to hunt for Gabriel Thorn's victims using a computer program and hopes to win the million-dollar reward to pay for Vanderbilt. He proposes searching the lake when the water is clearest.
Arc: Ty is a comic, reward-driven foil to the serious hunt. His lake theory is mocked by Mar and rejected by the FBI agent, and he does not succeed in finding the bodies.
- Ryan Shipley (born Gabrielle Thorn) — friend from French class
- Kabir — his partner in the body hunt
- Mar (Amaryllis Sullivan) — friend who mocks his lake theory and dislikes being called Amaryllis
Kabir
SupportingA friend of Connor who argues that the moon landing was faked and jokes that Ryan can only date Everett because the quarterback has claimed her. He later teams up with Ty to search for the bodies, providing what Ty calls the brawn while Ty uses his computer program.
Arc: Kabir has no large personal arc. He functions as comic relief in the friend group and as part of the unsuccessful amateur body hunt.
- Ty — his partner in the body hunt
- Connor Shipley — his friend
- Ryan Shipley (born Gabrielle Thorn) — friend who joins his lunch table
Sofia
SupportingEverett's ex-girlfriend and a girl who openly resents Ryan at school. She glares at Ryan, warns that Everett will get tired of her and only wants sex, and later flirts with Chase by sitting on his lap at the bonfire. She also yells at Zed to stop his expose video.
Arc: Sofia does not have a meaningful arc. She provides romantic friction for Ryan and reacts to the public drama around Everett and Chase.
- Everett James — his ex-girlfriend
- Ryan Shipley (born Gabrielle Thorn) — hostile to her
- Chase Hedlund — flirts with him at the bonfire
Gillian
SupportingJasmine's best friend and a fellow ginger who greets Ryan warmly at lunch. She later teases Ryan about dumping Everett by text, though she says she prefers text breakups to face-to-face drama.
Arc: Gillian appears in small social scenes but does not affect the main mystery. She is part of Jasmine's friend circle and the gossip network around Ryan.
- Jasmine Shipley — her best friend
- Ryan Shipley (born Gabrielle Thorn) — friendly classmate
Bo
SupportingA boy Jasmine flirts with at Everett's party and later takes as her date to the Valentine's Dance. He is a teammate of Connor's and part of the school social scene.
Arc: Bo appears only as Jasmine's romantic interest. He has no significant story arc.
- Jasmine Shipley — her on-and-off date
- Connor Shipley — his teammate
Trevor
SupportingA student on the school bus who wears a jacket with a 'Gabriel Thorn Fan Club' patch and later a jacket printed with Gabriel Thorn's mug shot. He voices the town's obsession with seeing Thorn burn in hell.
Arc: Trevor does not have an individual arc. He exists as a symbol of how Thorn's notoriety has contaminated the ordinary teenage world.
- Gabriel Thorn — self-proclaimed fan club member
Georgia
SupportingChase's mother, a nurse who works long hours. She comes home in hospital scrubs and catches Chase with Ryan, then teases him about having a girl over. Her tight finances are part of why Chase works as a mechanic apprentice.
Arc: Georgia appears only in a brief domestic scene. She is mentioned as the parent Chase helps support.
- Chase Hedlund — her son
- Ryan Shipley (born Gabrielle Thorn) — guest at her house
Lydia Singh
SupportingGabriel Thorn's first victim, found as a skeleton in a cage labeled 'Sparrow Lydia' in his hidden bunker. Her daughter Natalie is still searching for closure when the story opens.
Arc: Lydia is dead before the narrative begins. The discovery of her remains is one of the major outcomes of Ryan's map-driven dig.
- Gabriel Thorn — his first victim
- Natalie Singh — her daughter