When Oakley’s best friend Sophie ropes her into planning an engagement party, she’s happy to help, until the event turns into a nightmarish betrayal. Confronted by her cheating ex in a public proposal orchestrated by Sophie, Oakley is forced to question loyalty, love, and her own worth.
Friendships are complicated things. Sophie and I weren’t the storybook best friends who did everything together. Instead, ours was built on a shaky foundation of high school rivalry, competing for grades, sports, and even attention at parties.
Two high school girls | Source: Midjourney
But somewhere along the way, we found common ground. By college, she was the one I trusted with everything, the one who always had my back.
Or so I assumed.
When Sophie called me a few weeks ago, her voice bubbled with excitement through the phone.
“Oakley! Ryan and I are throwing a little engagement party,” she said, pausing dramatically. “It’s a surprise announcement. No one else knows yet, not even Ryan. Well, not about the party, I mean. So, I need your help.”
A woman talking on the phone | Source: Midjourney
“Of course, Sophie,” I said, genuinely happy for her. “Congratulations, bestie!”
Ryan was a sweet and lovely guy, and Sophie deserved someone who treated her well and always put her first.
“But it’s not a big thing,” she added quickly. “I want a cozy and intimate vibe, you know? Just our closest people. I’ll send out the invitations and whatnot when you’re ready with them. You’re so good at planning these events. Can you handle it?”
A woman talking on a phone | Source: Midjourney
I didn’t hesitate. I actually loved planning events.
“Absolutely,” I said. “Just tell me what you need and if there’s anything specific you want.”
Over the next few weeks, I noticed Sophie’s usual chatter had a strange edge to it. She was jumpy and dismissive whenever I pressed her for details.
“I don’t want to jinx it,” she’d say with a nervous laugh.
A party-planning notebook | Source: Midjourney
“Jinx what?” I asked. “Everything is already planned. I just need to get the cake order finalized and it will all be sorted. Nothing can be jinxed, Soph. It’s all going to be perfect.”
“You can’t be too careful…” she said wryly.
I figured it was just pre-party jitters. She’d always been a little dramatic, but I thought it was part of her charm. I didn’t question it.
By Friday night, I had spent hours arranging pink and gold balloons, fairy lights, and floral centerpieces. Sophie’s backyard looked like a scene from a romantic movie.
A backyard setup | Source: Midjourney
Sophie squealed in delight when she saw the setup.
“It’s exactly how I imagined it!” she gushed. “Thank you, Oak. You’ve made it perfect. Just perfect.”
When Saturday arrived, I loaded the last box of heart-shaped balloons into my car, excited to see Sophie’s big reveal to Ryan. He had been away for work since Thursday, and he was going to walk into the surprise engagement on his way home.
A smiling woman | Source: Midjourney
I could already picture it:
Ryan’s stunned face, the joy in Sophie’s eyes, and the warmth of celebrating her happiness, surrounded by all their closest people.
But when I stepped into the event hall, my excitement curdled into something cold and heavy.
Jason, my ex-boyfriend, stood in the center of the living room, which now had vases of flowers and some of the pink and gold balloons all over.
A man standing in a living room | Source: Midjourney
He wore a suit and held a small, velvet ring box. His grin spread wide, the same grin that had once charmed me and now made my stomach churn.
“Surprise!” Sophie chirped, rushing toward me with a wide smile. “Jason has been planning this for weeks! And we thought, who better to help with the decorations than you? Isn’t it romantic?”
I stared at her, the pieces slowly clicking into place.
This wasn’t Sophie and Ryan’s engagement party. This was Jason’s proposal to me.
A shocked woman | Source: Midjourney
Jason’s proposal.
Jason?!
And I had unknowingly helped decorate and cater for the entire event.
“What the hell is this?” I managed to whisper, my voice shaking as my knees almost buckled.
Jason stepped closer, the same confidence oozing from him that had once been magnetic.
A man in a suit | Source: Midjourney
“I know I messed up,” he began, as if acknowledging the understatement of the century. “But I’ve changed, Oakley. You’re the only one for me. And I want to spend the rest of my life proving it.”
My mind reeled.
Jason, who had cheated on me with a coworker, forced me into questioning my worth, and dumped me with a single text after weeks of silence, now thought this public spectacle would erase it all?
I turned to Sophie, desperate for an explanation.
An upset woman sitting on a couch | Source: Midjourney
“You knew what he did to me,” I said, my voice breaking. “You knew, Sophie.”
She shrugged, smiling as if she hadn’t just betrayed me.
“Everyone makes mistakes. Besides, he’s serious now. He’s ready to commit, Oak. Isn’t that what you’ve always wanted? Isn’t that what matters?”
The air seemed to leave my lungs altogether.
A woman with her hands on her hips | Source: Midjourney
Sophie had always been impulsive, but this was something else entirely.
“You thought this was okay?” I asked.
“It’s a grand gesture, Oakley!” she said brightly. “I think you’ll thank me one day.”
I had barely noticed my parents standing in the corner of the room until my mom stepped forward. Her voice was soft, pleading.
An older woman standing in a living room | Source: Midjourney
“Jason explained everything, Oak. He made a mistake, sure, but he’s trying to make it right. Don’t be so stubborn, sweetheart. You’re not getting any younger, and how often does a man who wants to propose come along?”
I felt the walls close in.
My humiliation, my anger… it was all secondary to the suffocating realization that the people I trusted the most in this world were siding with him.
An upset woman holding her head | Source: Midjourney
With him.
Just as I turned to leave, Noah walked in carrying the cake box I’d asked him to bring in. I wasn’t going to trust myself to carry it with my heels on.
I had forgotten about Noah. But seeing him made me feel better. He had always been a calming presence for me.
He paused, his eyes scanning the room, his brows knitting in confusion. Then, his gaze landed on me, tear-streaked and trembling.
A man holding a cake box | Source: Midjourney
“What’s going on?” he asked, his voice steady but firm.
Jason puffed up his chest like a rooster.
“I’m proposing to Oakley, Noah. You don’t have an issue with that, do you?”
Noah’s eyes darted to me, and then back to Jason.
A man standing with his hands in his pockets | Source: Midjourney
“Do you want this?” he asked, his voice softer now.
I shook my head, unable to speak through the lump in my throat.
“Then let’s go,” Noah said without hesitation.
He grabbed my hand and pulled me toward the door. The cool night air hit my face like a lifeline as we stepped outside.
A woman standing outside | Source: Midjourney
We drove in silence for a while, my thoughts a tangled mess of rage and betrayal. Finally, I told Noah everything. I expected him to offer advice or a quick solution, but he didn’t. Instead, he just listened.
Noah had been around for years, and while I told him about most things in our friendship, I wasn’t always open about talking about Jason.
Over the following months, our relationship became more intimate. Noah became a rock of sorts. He never pushed, never pried; he simply was. And when the time was right, our friendship deepened into something more.
A man driving a car | Source: Midjourney
It started out as a dinner from a drive-thru and turned into a romantic picnic in a parking lot. Noah reminded me that love wasn’t supposed to hurt or feel like an uphill battle.
As for Sophie?
It had been months since that night, months of cutting Sophie out of my life, deleting her texts without reading them, and dodging her calls. I thought I’d moved on, that I’d buried the hurt.
Then, one chilly afternoon in early spring, she showed up at the café where I was meeting Noah.
The interior of a coffee shop | Source: Midjourney
The bell above the door jingled as she stepped inside, her bright smile faltering slightly when she saw me.
I froze, mid-sip of my latte.
Sophie approached with hesitant steps, her voice too bright.
“Oakley! I was hoping I’d run into you!”
I didn’t return her smile.
A woman in a coffee shop | Source: Midjourney
“What do you want, Sophie?”
Her expression flickered. Disappointment? Irritation? But she quickly covered it with the kind of grin that used to fool me.
“I just want to talk. Can we, um, can I sit?”
I nodded.
“I’ve missed you,” she began, her voice soft as she slid into the chair. “I know you’re mad, but I hate how things ended. I just want to explain.”
A woman sitting in a coffee shop | Source: Midjourney
“Explain what, Sophie? That you thought it was a good idea to ambush me with the guy who destroyed me? That you cared so little about my feelings you turned my pain into some romantic gesture for Jason?”
She flinched but held her ground.
“It wasn’t like that,” she said quickly. “I was trying to help you. You and Jason… there was so much love there, Oakley. I just thought if he could show you he was serious, you’d see it too.”
“Serious? He broke me, and you knew that.”
A woman holding her head | Source: Midjourney
“People change!” she exclaimed. “He told me he regretted it, that he wanted to make things right. Isn’t that what everyone wants? To be forgiven?”
I shook my head.
“I thought you’d be happy! You used to love him, Oakley! How was I supposed to know you’d react like that?”
My jaw dropped.
An upset woman sitting in a coffee shop | Source: Midjourney
“React like that? You mean like a normal person who doesn’t want to be blindsided by their abusive ex in front of their family and friends?”
“You’re blowing this out of proportion, Oakley. Like you always do. I wanted you to be happy like me.”
I stared at her, the full weight of her words hitting me.
“No, you were trying to force me into the life you thought I should want. You’ve never cared about what I actually feel, Sophie. It’s always been about you.”
An upset woman in a coffee shop | Source: Midjourney
“That’s not true,” she said.
“It is. Now, please leave,” I said.
Just then, the bells above the door jingled again, and Noah walked in, beaming.
Bells hanging in a coffee shop | Source: Midjourney
“That’s my cue to leave,” Sophie huffed.
“I assume that wasn’t an apology, was it?” Noah asked.
“No,” I said with a small, bitter laugh. “But that’s okay. I don’t need her apology anymore.”
A woman walking away | Source: Midjourney
If you enjoyed this story, here’s another one for you:
When Lily and Jason’s son, Nathan, brings his fiancée home for the long weekend, Lily is excited to get to know the young woman. But during that weekend, she notices her husband acting strange. So, she tries to uncover what is going on with Jason — only to open a can of worms with secrets wriggling everywhere.
This work is inspired by real events and people, but it has been fictionalized for creative purposes. Names, characters, and details have been changed to protect privacy and enhance the narrative. Any resemblance to actual persons, living or dead, or actual events is purely coincidental and not intended by the author.
The author and publisher make no claims to the accuracy of events or the portrayal of characters and are not liable for any misinterpretation. This story is provided “as is,” and any opinions expressed are those of the characters and do not reflect the views of the author or publisher.