Chapter 1: The Mirror's Secret
The hickey was the wrong shade of purple.
Vy stared at it in the wavy dorm mirror, the pad of her index finger pressing into the bruise on her collarbone. It was a sickly violet, fading to yellow at the edges. The girl last night—Megan? Morgan?—had Katy’s exact jawline, that same severe cut. But her mouth had been all wrong. Softer. Less teeth.
A gust from the half-open window cut through the room’s stale warmth. It carried the crisp decay of fallen leaves and, underneath it, a phantom trace of jasmine and clove. Katy’s perfume. It was impossible, of course. Katy hadn’t been in this room for four months. But the scent clung to the sweatshirt balled up on the floor, woven into the fibers from a hug goodbye that never ended.
Vy turned from the mirror. Her dorm room was a monument to the effort of not thinking. A graveyard of half-empty wine bottles stood sentinel on her desk. Crumpled napkins from the campus pub, scarred with lipstick and phone numbers, spilled from her wastebasket. A black lace bra was slung over her desk lamp, casting a weird, web-like shadow. She’d left it there three days ago.
A soft knock, twice. Then the sound of a plate sliding across the cheap linoleum, scraping under the door.
Christy.
It was a Saturday ritual. Vy never made it to the dining hall for breakfast. Christy, an early riser who ran five miles before most people’s alarms went off, always brought her something. Toast. A banana. A granola bar pilfered from the biology department break room. It was a silent, stubborn rebuttal to Vy’s chaos.
Vy pulled the door open. Christy was already halfway down the hall, her straight black bob bouncing with each step. On the floor sat a plate with two perfect pieces of avocado toast, sprinkled with red pepper flakes, just how Vy liked it. A post-it note was stuck to the edge.
Hydrate. Advil in the cup. See you at Ruby’s tonight?
No judgment. Just facts. Vy picked up the plate and closed the door with her foot. She ate standing by the window, watching the autumn light slice through the oak trees on the quad. The toast was good. Christy mashed the avocado with a little lemon. The care in the gesture made Vy’s throat tighten.
Her laptop glowed on the bed, open to a dating app. A grid of faces stared back. She scrolled absently. A guy with a nice smile. Swipe right. A woman with intense eyes and an undercut. Swipe right. Her criteria was a ghost she couldn’t exorcise: Look like her. Talk like her. Hurt me like she did.
She closed the laptop.
The shower in the hall bathroom was loud, the pipes groaning as she stood under water almost too hot to bear. She scrubbed at the hickey until the skin around it burned pink. It didn’t help. The memory wasn’t on her skin; it was in the muscle, in the bone.
Back in her room, wrapped in a towel, her phone buzzed. A text from Lucy.
Party at Theta tonight. Music supposed to be decent. Pre-game at Ruby’s at 9. You in?
Vy typed a reply without thinking.
Another buzz. A message from a number she didn’t save. Last night was fun. You free later?
She stared at the text. She pictured the sharp jaw, the dark hair. For a second, it was Katy asking. The phantom scent of jasmine curled in the air again. Her fingers hovered over the keypad.
Maybe. Tied up with friends tonight, she typed back. A non-answer. An escape hatch.
She dressed mechanically: black jeans, a tight burgundy top that hid the bruise. She blew out her long black hair, the strands floating in the slanted sunlight. In the mirror, her warm brown eyes looked back, flat and tired. She applied a swipe of red lipstick. Armor.
The afternoon bled away in a library carrel, staring at a statistics textbook. The numbers swam, formulas dissolving into the memory of Katy laughing at a terrible joke Vy told in this very library, their feet tangled under the table. The pain was a dull, familiar throb now. Manageable. Almost comforting in its consistency.
At 8:45, she was pulling on her leather jacket when Christy came back in, smelling of fresh air and grass.
“Heading out?” Christy asked, taking off her glasses to clean them on her shirt.
“Ruby’s,” Vy said, checking her phone. “Then Theta.”
Christy nodded, watching her. It was the quiet watching that got to Vy. Christy saw everything. The way Vy’s hand shook slightly when she applied her eyeliner. The specific hollows under her eyes.
“You okay?” Christy asked, the question quiet in the dim room.
“I’m great,” Vy said, the lie practiced and smooth. “Why wouldn’t I be?”
“No reason.” Christy didn’t push. She never did. “Just… eat something that isn’t toast today, okay?”
“Yes, mom.” Vy grinned, a sharp, performative thing. She slung her bag over her shoulder. “See you there?”
“I’ll be late. Lab report.”
The walk to Ruby’s apartment off-campus was cold. Vy hugged her jacket tight, the sound of her boots on the pavement the only rhythm. From inside Ruby’s building, she could already hear the bass, the shriek of laughter. The sound of forgetting.
She paused on the steps, her hand on the cold metal railing. For a fleeting second, she wanted to turn around. To go back to her quiet room, to actually study, to sleep for ten hours. To be the person Christy maybe thought she could still be.
But then the door flew open, spilling golden light and the smell of spiced rum and Ruby’s peach perfume into the night.
“Vy! Get in here, we’re doing shots!” Ruby yelled, her arm looping around Vy’s neck, pulling her inside, into the heat and the noise and the blessed, obliterating crowd.
The door swung shut behind her, cutting off the quiet, the cold, the scent of jasmine on the wind. Inside, the music was loud. Inside, someone was already handing her a red plastic cup. Inside, a girl by the stereo turned. She had a sharp jawline and dark, clever eyes.
Vy took a long, burning swallow from the cup. She felt her face arrange itself into a bright, easy smile. She moved toward the music, toward the girl, toward another night of carefully chosen echoes.
She moved toward the music, toward the girl, toward another night of carefully chosen echoes.
The girl’s name was Sloane. She was a grad student in architecture, visiting a friend. Her hand was cool around the neck of a beer bottle. Her laugh was a low, smoky thing. It was nothing like Katy’s, which was loud and unashamed. Vy filed the discrepancy away, a minor bug in the code.
“Ruby says you’re IR-Econ,” Sloane said, leaning against the kitchen counter. Her eyes traveled over Vy’s face, lingering on her mouth. “Tell me something international and economic.”
“The global spice trade was fundamentally a story of colonial theft and artificial scarcity,” Vy said, the words falling out from some textbook deep in her brain. She took a sip of her drink, watching Sloane over the rim. “Also, cinnamon is overrated.”
Sloane’s eyebrows lifted. A real reaction, not a practiced one. “A take. I like it.” She shifted closer, the space between them collapsing under the weight of the bass from the living room. “You’re not like the other undergrads here.”
“You say that to all the sophomores?” Vy teased, the flirtation automatic, a script she could run in her sleep.
“Only the ones who look like they’re trying to solve a theorem in the middle of a party.”
The observation was a dart, landing close to the center. Vy deflected with a tilt of her head. “Maybe I am. You’re a variable.”
It was easy. It was so terribly easy. The conversation was a smooth, downhill track. Sloane was smart, sharp-edged, confident in a way that felt familiar and dangerous. She mentioned a former girlfriend, an artist, a “total chaos demon.” Vy felt a jolt—not at the mention of the ex, but at the casual way Sloane said it, already folded into her past. Vy’s own past felt like a live wire, dangling, sparking against everything in her present.
Anika materialized, looping an arm around Vy’s waist. “Hate to break up the econ summit, but we’re migrating. Theta’s rooftop is open.”
The night became a blur of strobe lights and sticky floors. Theta’s rooftop was a cage of chain-link and bodies, the Boston skyline a hazy silhouette in the distance. Vy lost Sloane in the crowd, found her again by the railing, the city lights painting her profile in blues and whites.
“You vanished,” Sloane shouted over the music.
“I’m here now!”
They didn’t dance so much as sway, a pocket of relative stillness in the pounding mass. Sloane’s hands were on Vy’s hips, her chin resting on Vy’s shoulder. Her scent was clean—soap and cold air—a welcome erasure of jasmine. Vy closed her eyes. For a few minutes, she let the noise and the foreign touch fill the hollow places. It almost worked.
Then Sloane’s mouth was at her ear. “Wanna get out of here?”
The question was the expected one. The door swinging open on the next scene. Vy nodded, her cheek brushing against Sloane’s.
They spilled into the quiet street, the sudden absence of sound a physical shock. Sloane hailed a ride-share with effortless efficiency. In the back of the car, under the sterile glow of the dashboard light, Sloane kissed her. It was proficient, intense. Vy kissed back, trying to lose herself in the mechanics of it. The driver didn’t glance in the mirror.
Sloane’s off-campus apartment was what Vy expected: minimalist, a single wall of raw brick, shelves of precise models made of white foam board. It smelled of sawdust and coffee.
“Nice place,” Vy said, shrugging off her jacket.
“It’s a workspace that I sleep in.” Sloane was already moving, pouring two glasses of water from a filter pitcher. She handed one to Vy. “Hydrate.”
Christy’s post-it note flashed in Vy’s mind. She drank the water, feeling observed, even here.
What followed was competent. Sloane’s hands knew what they were doing. Her mouth was sure. In the dark, on a firm mattress with grey sheets, the details blurred. Vy focused on the sensation, the physical rewriting of the day’s tension. She matched Sloane’s rhythm, gasp for gasp. It was fine. It was more than fine.
After, breathing hard in the dark, Sloane traced the line of Vy’s spine. “You’re somewhere else,” she stated, her voice calm, devoid of accusation.
Vy froze. “I’m right here.”
“Your body is.” Sloane propped herself up on an elbow. The streetlight from the window cut across her face, the sharp jaw now looking severe, not familiar. “Who is she?”
The question was a bucket of ice water. Vy sat up, pulling the sheet around her. “What?”
“The person you’re pretending I am. It’s obvious.” Sloane didn’t sound angry. She sounded clinical. Interested. “You looked at me all night like you were checking items off a list. Same hair color. Similar build. Probably a certain attitude. Did I pass?”
The humiliation was acute, hot, spreading from Vy’s chest to her face. She had never been called out on it before. The facsimiles were usually as desperate as she was, or too vain to notice. “That’s not—“
“It’s okay,” Sloane interrupted, softening. “We all do it. I just usually prefer to be the ghost, not the stand-in.” She reached out, tucked a strand of Vy’s hair behind her ear. Her touch was almost kind. “She did a number on you, huh?”
The simple empathy was worse than anger. Vy’s eyes stung. She looked away, at the pristine foam models on the shelf. They looked like tiny, fragile tombs. She couldn’t speak. A single, traitorous tear escaped, tracking a hot path down her cheek. She wiped it away violently.
Sloane sighed, a sound of understanding that made Vy feel naked. “You should go. This isn’t what you need.”
The dismissal was gentle, final. Vy dressed in silence, her fingers clumsy on the buttons of her jeans. The atmosphere in the room had completely shifted from charged to compassionate, and the compassion was unbearable. She felt more seen in her brokenness by this stranger than she had allowed herself to be with her friends in months.
“I’m sorry,” Vy mumbled, not sure what she was apologizing for.
“Don’t be.” Sloane was sitting up in bed, watching her. “Just go home. Text your roommate. And for god’s sake, stop picking us. It’s not helping.”
The walk home in the predawn chill was a penance. The city was silent and slick from a recent shower, the pavement reflecting streetlights in long, tear-streaked ribbons. Sloane’s words echoed, a new, vicious mantra. It’s not helping.
She let herself into the dorm, the click of the lock echoing in the empty hallway. Their room was dark, just the gentle blue glow of Christy’s humidifier. Christy was asleep, a slow, even breath from behind her curtain.
Vy didn’t turn on the light. She toed off her shoes, peeled off the clothes that smelled of strange perfume and smoke, and pulled on the oversize sweatshirt from her floor. She climbed into bed, pulling the covers over her head, creating a dark, airless cave.
The sob, when it came, was silent, a convulsion she swallowed whole. She cried for the humiliation, for the exhausting performance, for the ghost that wouldn’t leave. She cried because a stranger had seen her completely in twenty minutes, and her best friend had been politely waiting for months for her to confess it.
As the gray light of morning began to bleed around the edges of the window shade, her phone screen lit up on the floor where she’d dumped her bag. A new notification glowed.
It was a direct message on Instagram. A profile she hadn’t blocked, because blocking was an admission of weakness. A profile she checked, in weak moments, three, four, ten times a day.
The message preview showed two words.
Katy Guo: Hey you.
Vy stared at the light in the dark room. Her heart, already raw, gave a single, colossal, betraying thud. The echo she’d been chasing all night had just spoken.
The echo she’d been chasing all night had just spoken.
Vy didn’t respond. She couldn’t. She stared at the screen until it went black, then pressed her thumb to the sensor to light it up again. Just those two words. Hey you. The casualness was a weapon. It implied a continuity that no longer existed. It assumed a welcome.
Her chest felt too tight. The room, the cave of her bedsheets, was suddenly suffocating. She needed air that wasn’t hers, noise that wasn’t her own frantic thoughts. She needed to not be here, in the ruins of her own making, staring at a ghost’s text.
She moved on autopilot. Dirty jeans from the floor, a clean-ish sweater. She didn’t look in the mirror. She scribbled a note for Christy—Gone for a walk. Don’t wait up.—a pathetic, transparent lie. It was 5:17 AM.
The only place open was an all-night diner a fifteen-minute walk from campus, a grim little booth of fluorescent lights and grease. It was nearly empty. A tired-looking truck driver nursed coffee at the counter. An old man muttered over a crossword.
Vy slid into a vinyl booth, the seat cracking under her weight. “Vodka soda. Double. And keep them coming.”
The waitress, a woman with kind eyes and a name tag that read ‘Dolores’, didn’t bat an eye. She brought the drink, condensation already beading on the glass. Vy knocked half of it back in one go, the burn a welcome, familiar punishment. She pulled out her phone.
Hey you. Still there.
Her fingers trembled. She typed a single character: ? Then deleted it. She wasn’t that weak. She put the phone face down on the sticky table.
Dolores brought a second double without being asked. Vy drank slower this time, the alcohol starting to blur the sharp, serrated edges of the night. Sloane’s clinical voice. It’s not helping. Christy’s quiet toast. The wrong-purple hickey. It all began to smear together into a dull ache.
She remembered Katy’s alcohol tolerance. Fuck, it was legendary. They’d go to parties and Katy would drink everyone under the table, her sharp eyes just getting brighter, her laughs louder, her arguments more brilliantly precise. Vy, a lightweight, would be swaying after three drinks, leaning into Katy’s side, mesmerized.
The last time she’d been truly, obliteratingly drunk was with Katy. It was before they were together, during that agonizing, electric phase of “will they, won’t they.” They were at a dingy karaoke bar with friends. Vodka cranberries. Too many of them.
Katy was singing some terrible pop song, completely off-key and owning it. Vy remembers watching the line of her throat move as she sang, the way her leather jacket slid off one shoulder. She remembers the heat of Katy’s leg pressed against hers in the booth. The world had softened, distilled down to that single point of contact.
Then Katy was pulling her into a hallway near the bathrooms, the noise muffled. “You’re staring,” Katy had said, her mouth close to Vy’s ear. Her breath smelled of lime and vodka.
“You’re beautiful,” Vy had slurred, the words falling out of her mouth before her brain could catch them. A catastrophic, unfiltered truth.
Katy’s smirk had faded. Her eyes, usually so guarded, had widened just a fraction. The air between them snapped taut.
“Vy…”
“I have feelings for you,” Vy had blurted, the vodka piloting her tongue. “Really big, stupid feelings. It’s complicated.”
Katy had stared at her. For a long, heart-stopping moment, she said nothing. Then she’d cupped Vy’s face, her thumb stroking Vy’s cheekbone. “You’re drunk.”
“I am,” Vy had agreed, leaning into the touch. “But I’m not wrong.”
Katy had leaned in then, so close their lips almost brushed. Vy could feel the promise of it, the certain yes. But Katy had pulled back, a conflicted shadow crossing her face. “Not like this,” she’d whispered. “Not when you can’t remember it tomorrow.”
The frustration had been a physical pain. The complication was a living thing in the hallway with them. It took three more weeks of tense, charged near-misses before Katy finally kissed her, sober, in broad daylight on the quad, ending the complication and beginning everything else.
Dolores placed a third double on the table. “Rough night, hon?”
“The worst,” Vy muttered, lifting the glass in a bitter toast before draining it. She was chasing that old feeling, the pre-complication buzz, the terrifying thrill of the truth hovering between them. But this liquor was just dull. It wasn’t bringing Katy back. It was just making the diner lights swim.
Her phone buzzed. Face-down. A vibration that travelled through the Formica and into her bones.
She didn’t want to look. She looked.
Another message. Couldn’t sleep. Saw you were online. You’re up early.
A stalker’s observation dressed as concern. Vy’s heart hammered against her ribs. Katy was watching. Even now, even after everything, Katy was observing her digital footprint. It was possessive. It was infuriating. It made a hot wave of something that felt dangerously like hope flood her veins.
She typed before she could think. You’re up late.
The reply was instant. Old habits. Where are you?
Diner. Drinking.
Which one?
Vy told her. It was a surrender. A flare shot into the dark.
Don’t move. Katy’s final message.
The next twenty minutes were a vodka-soaked haze. Vy paid her tab, tipping Dolores too much. She stumbled to the bathroom, splashed water on her face. Her reflection was a mess: smudged mascara, pupils blown, hair a dark riot. She looked used and raw. She didn’t try to fix it.
The bell over the diner door jingled.
Katy stood there, backlit by the gray dawn. She was in joggers and a thin, worn Wellesley hoodie, her dark hair piled in a messy bun. No makeup. She looked like she’d just rolled out of bed. She looked more real, more potent, than any memory.
She slid into the booth opposite Vy, her eyes scanning Vy’s face, taking in the wreckage. She didn’t smile.
“You look like shit,” Katy said, her voice quiet.
“Feel like it,” Vy slurred.
Katy signaled to Dolores. “Black coffee. Two.” She turned her gaze back to Vy. “Drinking alone at dawn? Classy, Le.”
“You came.”
“I did.”
The coffee arrived. Katy pushed one mug toward Vy. “Drink.”
“I don’t want coffee.”
“Drink it, or I pour it over your head.”
There she was. The old Katy. The one who took charge. Vy took a sip, the bitterness a shock. They sat in silence for a long moment, the truck driver leaving, the old man solving his puzzle.
“Why did you text me?” Vy asked, the words thick.
Katy shrugged, looking out the window at the pinkening sky. “I don’t know. I saw you were online. I thought about you.” She looked back, her gaze intense. “I heard you’ve been… busy.”
Vy laughed, a hollow sound. “Yeah. Busy.”
“Picking up my scraps, from what I hear.”
The accusation, so close to Sloane’s observation, was a sucker punch. “Fuck you.”
“It’s true, isn’t it?” Katy leaned forward, her voice dropping. “Every girl you bring home. They all look a little like me, talk a little like me. That’s pathetic, Vy.”
Tears of rage and shame sprang to Vy’s eyes. “You don’t get to say that. You left. You don’t get to critique how I handle it.”
“I’m not critiquing. I’m observing.” Katy’s foot brushed against Vy’s under the table. A casual, electric contact. “It’s not working.”
“What do you want from me, Katy?” The plea slipped out, raw and wretched.
Katy didn’t answer with words. She just looked at her, a long, consuming look that stripped away the diner, the time apart, the vodka. It was the same look from the karaoke bar hallway. The look of complication.
“Come on,” Katy said, throwing a twenty on the table. “You’re not finishing that coffee.”
“Where?”
“My place. It’s closer. You can sleep it off.”
It was a bad idea. A catastrophic idea. Vy knew it. Every cell in her body knew it. But the vodka and the hopelessness and the sheer gravitational pull of Katy made standing up and following her the only possible next action in the world.
Katy’s off-campus apartment was quiet, dim, smelling of sandalwood and her. It was neater than Vy remembered. No signs of anyone else.
“Sit,” Katy commanded, pointing to the couch. Vy slumped down, the room spinning gently. Katy went to the kitchen, returning with a glass of water. “Drink this. All of it.”
Vy obeyed, the water cold and shocking. Katy stood over her, watching her drink. Then she took the empty glass and placed it on the side table.
“You still have feelings for me,” Katy stated. It wasn’t a question.
Vy looked up, her vision blurry. The honesty of the alcohol and the exhaustion and the proximity tore the last shield away. “Yes.”
Katy nodded slowly, as if confirming a theory. She knelt in front of the couch, putting them at eye level. Her hands came up to rest on Vy’s knees. “It’s still complicated.”
“I know.”
“But you’re here.”
“You brought me here.”
Katy’s hands slid up Vy’s thighs, a slow, deliberate heat through the denim. “I did.”
Then Katy was kissing her. It wasn’t gentle. It was a reclaiming. A furious, hungry press of lips and tongue that tasted of coffee and something uniquely, devastatingly Katy. Vy moaned into it, her hands coming up to fist in Katy’s hoodie, pulling her closer. The world narrowed to the feel of Katy’s mouth, the scent of her skin, the years of want crashing over the months of absence.
Katy broke the kiss, her breathing ragged. Her eyes were dark, unreadable. “Tell me you want this.”
“I want this,” Vy gasped.
“Tell me you want me.”
“I want you. God, Katy, I always want you.”
It was all the permission Katy needed. She moved with a fierce efficiency that left no room for doubt. She pushed Vy back onto the couch, yanking the jeans down her hips. Vy kicked them off, the cold air a shock followed by the greater shock of Katy’s hands on her bare skin.
Katy didn’t bother with her own clothes, just shoved her joggers and underwear down just enough. She was wet, already slick, and the feel of her bare heat against Vy’s thigh made Vy cry out.
“You remember how I like it,” Katy breathed against her neck, a challenge and a command.
Vy did. She remembered everything. Her hands fumbled between them, her fingers finding Katy’s clit, circling with the specific, rough pressure Katy craved. Katy swore, a filthy, beautiful sound, and rocked against her hand.
“Yeah, just like that, you fucking remember,” Katy panted. She bit down on Vy’s shoulder, not hard enough to bruise, but enough to claim. Her own hand slid down Vy’s stomach, fingers plunging inside her without ceremony.
The intrusion was brutal and perfect. Vy arched off the couch, a ragged scream torn from her throat. It was too much—the vodka, the emotional whiplash, the physical mastery of Katy’s touch. It felt less like sex and more like a punishment, a branding.
Katy fucked her with hard, relentless strokes, her thumb grinding against Vy’s clit in time. “This what you wanted?” Katy hissed, her face buried in Vy’s hair. “This what you were trying to find with all those other girls?”
“Yes—fuck—Katy, yes—”
“It’s only me,” Katy snarled, curling her fingers, hitting a spot that made Vy see white. “It will only ever be me. Say it.”
“It’s only you,” Vy sobbed, the orgasm detonating through her, violent and wrenching, tearing through the numbness and the pretense. She shook with it, her body clamping around Katy’s fingers.
Katy rode out her climax, then withdrew her hand, bringing her wet fingers to her own mouth. She watched Vy come down, her own need evident in the flush on her neck, the tight set of her jaw. Then she moved, straddling Vy’s hips, guiding Vy’s hand back to her.
“Finish it,” she ordered, her voice rough.
Vy was oversensitive, wrecked, but she obeyed. She slid two fingers inside Katy, who was impossibly tight, impossibly hot. She used her thumb, matching the rhythm Katy had taught her long ago. Katy braced her hands on the back of the couch, her head dropping forward, her entire body trembling with the effort of control.
“Don’t be gentle,” Katy gritted out. “I’m not fragile.”
Vy fucked her harder, deeper, the crude, wet sounds filling the quiet apartment. Katy’s composure shattered. She came with a choked, guttural cry, her body convulsing around Vy’s fingers, her nails digging into Vy’s shoulders through the sweater.
For a long minute, there was only the sound of their harsh breathing. Katy collapsed onto her, a dead weight smelling of sweat and sex. The familiar feel of her body, the exact way she fit, was its own kind of agony.
Vy stared at the ceiling, the last of the drunken haze burned away by the brutal intensity of what just happened. Her body thrummed. Her heart felt scoured raw.
Katy shifted, pulling her clothes back up. She didn’t look at Vy. She stood, walking to the window, putting distance between them.
“You should stay,” Katy said, her back turned, her voice flat now. “Sleep. The bed’s in there.”
“Katy…”
“Don’t.” Katy’s shoulders were tense. “Just… don’t talk. Not tonight.”
Vy pulled her own clothes on, her limbs heavy. She walked to the bedroom, a room she knew. She slid under the cold covers. A moment later, she felt the dip of the mattress. Katy lay down on the other side, her back to Vy, a canyon of space between them.
In the dark, Vy could still feel the ghost of Katy’s fingers inside her, the claim of her teeth. It was what she’d wanted. It was what she’d been chasing for months.
So why did it feel like she’d just lost something forever?