Chapter 5
Her
The photo loads, and the moment I understand what I am seeing, my chest tightens so sharp, it feels like something inside me has torn. It is Ryan, unmistakably Ryan, close to someone who is not me, in a way that leaves no room for innocent explanations no matter how hard I want to make them.
The familiarity of his posture, the ease in his expression, the comfort in his body language all hit me at once, and it hurts more than the image itself because it reminds me how well I know him.
My mind starts racing, replaying every recent argument, every moment I ignored a warning sign because it was easier to believe in stability than to face the possibility of betrayal.
The humiliation burns almost as much as the heartbreak, because this was not just meant to hurt me, it was meant to make me doubt my own judgment and my own reality.
I feel exposed, like something private and fragile has been dragged into the light and used against me, and the worst part is that I do not know which pain is heavier anymore, the possibility that Ryan betrayed me or the certainty that someone is watching my life closely enough to destroy it with perfect timing.
I need answers before I shatter completely. I can't keep running from this shadow. It's time to face it, even if just through words on a screen.
With a shaky exhale, I type out the message I've been rehearsing in my head all afternoon. ‘What do you want from me? Why are you doing all this?’
I hit send before I can second-guess it, and the whoosh echoes like a door slamming shut. My heart pounds against my ribs, each beat a reminder of how exposed I feel, how this stranger has wormed into every corner of my life without me even knowing his name.
Minutes stretch into what feels like hours, my eyes glued to the screen as if willing a response will make it appear faster. When it finally buzzes, I snatch the phone up so quickly my fingers fumble the case. The text stares back at me, simple and chilling. ‘I only want what's good for you.’
Shock hits me like a wave crashing over my head, cold and disorienting, leaving me gasping as I read it again and again. Good for me?
The words twist in my gut, mocking the terror he's caused, the way he's peeled back layers of my life until I feel raw and unprotected.
Who says something like that after stalking, after sending photos that rip open wounds? My hands tremble as I clutch the phone tighter, a mix of anger and confusion bubbling up so fiercely that tears prick at my eyes.
This isn't concern. It's control, wrapped in a lie that makes my skin crawl. I want to scream at him, demand more, but the words stick in my throat, frozen by the absurdity of it all.
That message is what pushes me over the edge, the final straw in a day that's already crumbling around me. I don't wait for Ryan to pick me up after my last class like I usually do.
The ride home blurs through tears I blink away, my mind replaying the text on loop, each word a needle pricking deeper into the fear that's become my constant companion.
By the time I get inside, the flat feels too still, too empty, and I collapse onto the couch with my bag still slung over my shoulder, staring at nothing as the shock settles into a dull throb.
How long has this been building? The sandwich under my desk, the threats about the police, now this twisted claim of benevolence.
It's all too much, and the isolation hits harder than I expect, a loneliness that echoes the days after the crash when I lost my Mom and Dad, when the world narrowed to just me against everything.
I curl my knees up, hugging them close, and let the silence wrap around me like a blanket that's more suffocating than comforting.
~
The front door slams open hours later, the sound jolting me upright with a gasp that catches in my throat. Ryan storms in, his face flushed red with anger, keys jangling as he tosses them onto the entry table with enough force to make them skid.
He doesn't even kick off his shoes, just strides straight toward me, his eyes locked on mine with a fury that makes my pulse spike.
"Iris, what the hell?" He demands, his voice already rising as he stops inches from the couch, towering over me. "Why didn't you wait for me? I sat there like an idiot for an hour, numbing my ass off in the lot."
I shrink back instinctively, the familiar edge in his tone sending a flicker of unease through me, but I force myself to meet his gaze, my voice coming out smaller than I want.
“I wasn’t feeling well, Ryan.” I say quietly. “The whole day just… hit me hard. I needed to get home.”
I swallow. “I’m sorry. I should’ve texted, but my head was a mess.”
Ryan throws his hands up. “Not feeling well?” He snaps, pacing a tight circle in front of the coffee table. His voice bounces off the walls. “That’s your excuse?”
I flinch.
“You could’ve at least informed me, Iris!”
“I know…”
“Do you have any idea how that looks?” He cuts in, pointing at himself. “Me sitting there like some chump while you’re off doing whatever.”
“I wasn’t…”
“An hour.” He continues, his voice rising. “I waited an hour.”
He drags a hand through his hair, pacing again.
“I checked my watch every five minutes, thinking maybe you got held up in class or something.”
My fingers twist together.
“But nothing.” He says bitterly. “No call. No message.” He stops pacing and looks straight at me. “So what exactly am I supposed to think?”
His words lash out, each one landing like a slap, and I flinch hard, my body curling inward as the volume makes my ears ring.
The fear from the texts surges back, mixing with this fresh wave of guilt and hurt, because part of me knows he's right.
I should've said something. But the rest of me is too raw to defend it properly.
“I know.” I whisper. “I messed up.”
My voice trembles as I slowly uncurl from the couch, reaching a hand toward him.
“It was stupid. The stress from classes and… everything else.” I swallow. “Please, Ryan. Just sit down. We can talk about it.”
But he doesn’t sit. He stops pacing instead and glares down at me, his chest rising and falling as he tries, and fails, to rein in his temper.
“Talk?” He says sharply.
My hand slowly lowers.
“That’s all you ever want to do lately. Talk about your feelings. Your assignments. Like the world’s ending over a bad grade.”
“That’s not what I…”
“I waited, Iris.” His voice cuts through mine. “I sat there looking like a fool.”
The room feels smaller somehow.
“You owe me an explanation.” He says coldly. A beat passes. “Not excuses.”
The accusation stings deeper than it should, stirring the anger I've been swallowing all day, and before I can stop myself, I grab my phone from the cushion beside me, pulling up the photo that arrived this afternoon. My thumb swipes to it, the image filling the screen.
His arm around that woman's shoulders, her hand on his knee, that easy smile on his face. I thrust it toward him, my voice cracking with the hurt I've been carrying.
"Then explain this, Ryan. What is this? Some random photo of you getting cozy with another girl? Because if we're talking about looking like fools, this makes me one."
His eyes widen for a split second, surprise flashing across his face before it hardens into defensiveness, his jaw clenching as he snatches the phone from my hand. He stares at the screen, scrolling like he can delete the evidence with a glare.
When he looks back up, his voice drops low and sharp. “Where did you get this?”
His eyes flash with anger. “Who sent it to you? This is bullshit. Probably some edited crap from a jealous extra on set trying to stir drama.”
I push myself to my feet. My legs are unsteady, but the betrayal that’s been festering since I first saw the photo keeps me upright.
I take a step closer. This time, I refuse to let him tower over me. “Someone randomly sent it, okay?” I say. “An unknown number.”
Ryan scoffs.
“But that doesn’t answer my question.” I nod toward the phone in his hand. “Who is this, Ryan?”
He doesn’t answer.
“You’ve got your arm around her.” I continue, my voice tightening. “You’re smiling like she’s the best thing that’s happened to you since your last callback.”
Silence stretches between us.
“If it’s nothing,” I say quietly, “then why does it look so… intimate?”
He tosses the phone onto the couch like it's contaminated, his hand shooting out to cup my cheek. Not gently, but with a grip that's firm enough to tilt my face up to his, pulling me closer until our noses almost touch.
His thumb presses into my skin, a warning in the touch, and his voice comes out in a hiss that's more menacing than loud.
“It’s none of your business, Iris.” His voice is sharp enough to cut. “You don’t get to dig into my life or my work like some paranoid cop. That was a party. Networking.” He scoffs. “You think every photo means I’m cheating? Grow up.”
His hand tightens my jaw, fingers digging into my cheek. Pain shoots through my face. Not bruising, but insistent. Anger flares hotter than fear. I grab his wrist, trying to pull his hand away.
“None of my business?” I snap. “How is it not my business when I see my boyfriend draped all over another woman?”
His grip tightens harder for a second.
“We’re supposed to be together, Ryan.” I continue, my voice shaking but loud now. “You’re the one who talked about forever.”
I swallow hard. “If that’s networking… then what am I?”
He doesn’t answer.
“Your convenient roommate with benefits?”
Ryan releases my cheek with a light but deliberate shove and steps back. His eyes narrow. The defensiveness in them shifts into something colder.
“Don’t meddle in my business, Iris.” His tone drops, crueler now. “You’d be nothing without me.”
The words hit like a slap.
“Scraping by on that scholarship.” He continues. “All alone. Crashing in halls with no one to fall back on after your folks checked out.”
My chest tightens.
“I gave you a place. Stability.” He gestures around the room. “And this is how you repay it? Accusing me over some fake-ass picture?”
The mention of my parents rips open a wound that never really healed. Rain. Sirens. The twisted guardrail on that cliffside road.The tears rise before I can stop them. Ryan notices, and instead of stopping, he leans into it.
“God, and stop nagging so much.” He says, jabbing a finger toward my chest. “It’s exhausting.”
His voice climbs, ugly with irritation. “Maybe if you’d eased up back then, your parents wouldn’t have decided to end it all.”
My breath catches.
“Driving off that cliff like they couldn’t take the drama anymore.” He tilts his head. “Ever think of that?”
The room goes completely silent. Except for the sound of my heart breaking.
Mom's laugh, Dad's quiet hugs after bad days, they didn't choose that. It was an accident, a slick road and bad luck, not my fault, not ever.
But hearing him weaponize it, throw it back like ammunition, shatters something inside me, leaving a hollow ache that spreads through my limbs until I can barely stand.
"How could you say that?" I whisper, my voice breaking as tears stream down my face, the room spinning around the pain. "They didn't... it wasn't like that. You know it wasn't. You're just saying it to hurt me."
Ryan's face twists as anger swallows it whole, and he grabs my shoulders, shoving me back toward the armchair with enough force that I stumble into it, the cushions catching me as I collapse.
"I need to cool off." He snaps,grabbing his keys from the table, the metal clinking sharply in his hand. "Stay here and think about what you started. I'm out."
The door slams behind him again, the echo reverberating through my chest like a second heartbreak, leaving me alone in the dim light with sobs that wrack my body until my throat burns.
I don't know how many hours pass like that, curled in the chair with my knees drawn up, the tears drying into salty tracks on my cheeks as exhaustion wars with the grief churning inside me.
Ryan's words loop in my head, each one a barb that digs deeper, making me question everything. Our relationship, my worth, the fragile peace I thought we'd built after the crash took my family.
By the time night falls fully, my phone buzzes once more, pulling me back to the present with a dread that's almost routine now.
I wipe my face with the hem of my shirt and pick it up, the new message from the unknown number glowing on the screen. Another photo loads slowly, and my stomach drops as it sharpens.
Ryan again, this time in a dimly lit bar, his body angled close to a different woman, her hand on his arm as they lean in over drinks, laughter frozen in the flash of someone's camera.
The intimacy is undeniable, a mirror to the first photo but fresher, more damning, and attached below it is a simple address. ‘147 Oak Street, Downtown. Bar name: The Rusty Anchor.’
My heart races, a cocktail of fury and fear surging through me as I stare at it. Is this a trap? The stalker luring me out, using Ryan's betrayal as bait? Or proof, final and irrefutable, that I need to see for myself?
Part of me screams to delete it, to block and bury my head, but the other part, the angry, heartbroken part that's tired of lies, wins out. I need to know, need to confront whatever this is head-on, even if it means walking blind into the dark.
With trembling fingers, I open my location-sharing app and send my live pin to Maddie and Al in the group chat, a silent insurance policy against the what-ifs swirling in my mind.
Their responses ping almost immediately. Maddie's ‘What happened?? Are you okay?’ followed by Al's ‘Ree. Where are you going this late?’
I type back quickly, my thumbs flying to keep the panic from my words. ‘I'll explain later, promise. I'm fine. Just need to handle something. Love you guys.’
It's a half-truth, but it'll buy me time, let them track me if things go south without pulling them into the mess right now. Hitting send feels like crossing a line, a commitment to whatever waits at that address, and I stand on shaky legs, grabbing my jacket from the hook by the door.
As I step out into the cool night air, locking the door behind me, my mind races with possibilities that twist my gut. Will I finally see Ryan's real face there? Or is this the stalker's endgame, a trap designed to isolate me, to make his ‘good for you’ promise into something nightmarish?
Oak Street is forty minutes by cab so I hail one at the corner and slide in the back seat. I lean forward slightly, my voice steadier than I feel, and give the driver the address that has been haunting me since the message arrived.
“147 Oak Street. Fast.”