The Invitation

Chapter 1

The email arrived the way most things did these days–quietly, without ceremony, disguised as something ordinary.

Rai saw it between a client thread and a delivery receipt. His phone buzzed once against the table, a small vibration that would have meant nothing if his body hadn’t already learned to flinch at certain names. He was halfway through cooling coffee when the subject line registered fully.

Wedding Celebration – Save the Date.

Under it, a name he hadn’t said out loud in months.

Not hers.

The groom.

Still–attached to it like an aftertaste that refused to leave–was the other one. The name in the CC field, the shared folder link with its neat little title, the guest list spreadsheet that loaded for a second and then blurred as his thumb froze.

Rai didn’t open it right away.

He set the phone face down. The glass clicked softly against the table, and the sound felt too loud in his apartment, as if the room had been waiting for something to break its usual hush.

Outside, Singapore kept moving in its unbothered way. Late afternoon light bled through the slats of his blinds and striping the floor with warm gold. Someone’s laughter drifted up from the void deck–an easy, careless sound that belonged to people who didn’t have to swallow their past to get through a day.

Rai’s living room was tidy in the particular way of someone who cleaned to stay calm.

No stray shoes. No laundry on chairs. A single mug, a single plate. The sofa cushions arranged like a photo on a listing. Even the air-conditioning remote sat at a right angle to the edge of the coffee table, aligned as if order could be a substitute for peace.

He stared at his hands.

There was a thin scar across the knuckle of his left index finger from a job site accident–careless moment, blunt metal edge, blood that had pooled more than he expected. He remembered wrapping it with tissue in a toilet cubicle while his manager called him impatient.

He remembered, too, that Nadia had always noticed these things. A small cut. A tired eye. The way his jaw tightened before he said he was fine.

His throat moved.

He flipped the phone back over.

The email header filled the screen with polite fonts and cheerful punctuation.

Rai!

The exclamation mark was what stung first, because it wasn’t his name that belonged to that kind of joy. Only certain people had ever used his name like that.

Brennan–bridegroom, former classmate, the kind of friend who collected people and kept them, who always remembered birthdays and always made sure nobody ate alone during group dinners.

And Nadia.

Nadia had said his name like a promise once. Like a confession she didn’t regret.

He scrolled.

There were details: a date in bold, a venue name that sounded expensive, a note about dress code.

There was a shared Google Drive link titled:

Wedding Itinerary + Seating Plan (FINAL).

The word final looked almost mocking.

Rai’s thumb hovered.

He could ignore it.

He could claim work. He could claim travel. He could claim–anything, really. People accepted excuses more readily than they accepted truth.

The truth was too much for a wedding.

He pressed the link anyway.

The file loaded slowly, as if even the internet hesitated to deliver this.

Then the spreadsheet opened.

Names.

Tables.

Little notes like bride’s cousins and colleagues (finance).

And there, on a tab labeled Seating, in neat black text:

Table 8 – Friends (NTU)

Rai’s name.

Then hers.

Nadia Lim.

It wasn’t a dramatic thing. It wasn’t fireworks or a stab to the chest. It was quieter.

It was the sensation of stepping into a room and realizing you’d left something fragile on the floor a long time ago–and now you were about to put your weight down.

Rai’s lungs drew a careful breath.

He forced his eyes to move. He searched for spacing, for whether there were names between them.

There weren’t.

The spreadsheet placed them beside each other as if time had done nothing. As if the breakup was a rumor. As if their silence since then was simply a pause.

His mouth went dry.

He closed the file.

Then, almost immediately, he reopened it.

Because maybe he had misread.

Because maybe if he looked again, it would rearrange itself into something kinder.

It didn’t.

Rai leaned back against the sofa. The leather exhaled beneath him. His gaze flicked to the corner of the living room where a small stack of boxes sat under his bookshelf–things he still hadn’t unpacked from the last time he moved.

He had told himself he moved for practical reasons. Closer to the MRT. Better for work.

But part of him had moved because the previous apartment still carried her.

Her laughter in the kitchen.

Her slippers by the door.

The way she used to curl on his couch with her knees tucked to her chest, scrolling through wedding videos with a quiet expression he didn’t ask about because he was afraid of what she wanted.

His jaw tightened.

He clicked out of the email.

A WhatsApp notification popped up almost instantly, as if Brennan had sensed his delay.

Brennan: Broooo you saw the email right? Don’t disappear ah 😂

Rai stared at the message for too long.

His fingers hovered over the keyboard. He typed, deleted, typed again.

Congrats bro.

Delete.

I might not be able to make it.

Delete.

His chest felt like it had been wrapped in something tight and invisible.

He put the phone down again and went to the kitchen.

It was a small space, clean and functional. He opened the fridge, stared at the shelves, then closed it without taking anything.

He filled the kettle anyway. The sound of running water was grounding. He watched it hit stainless steel, watched the level rise, watched his own reflection distort.

When the kettle clicked on, the warmth of the heating coil hummed through the counter.

Rai leaned forward, palms flat.

In his mind, the wedding played like a series of scenes he hadn’t been invited to direct.

A ballroom full of people.

A song.

A toast.

A name spoken too casually.

Eh Nadia, you remember Rai right?

As if remembering was the issue.

He had remembered her every day.

Not in the grand, poetic way people liked to talk about love as if it was always beautiful.

In the small ways.

In the way he still bought her favorite tea when he walked past it, then stopped himself at the last second like a man catching his hand before it reached into fire.

In the way he still avoided the hawker stall she liked because the smell of the soup would tug his mind into places he couldn’t afford to go.

In the way he still couldn’t watch certain movies because they carried the echo of her head on his shoulder.

He heard his own breath.

The kettle began to boil.

Rai forced himself to inhale slowly, then exhale.

A wedding was only one day.

He could survive one day.

But his body didn’t believe that.

His body knew what it meant to see her.

To see her and realize she was real and not just a memory he carried like a bruise.

To see her and discover whether she had moved on.

To see her and know, immediately, whether he was still the only one trapped in the past.

The kettle clicked off.

He poured hot water into the mug, watched the steam rise.

Then he realized he had forgotten to put anything inside.

Just water.

He stared at it for a beat, absurdly embarrassed, as if someone could see him.

He set the mug down and walked back to the living room.

His phone lit up again.

Brennan: Also bro, can help me with something? Need your opinion on the speech lol

Another message arrived right after.

Brennan: Oh btw Nadia confirmed already. She’s coming. So don’t be weird ah. Everyone older already 😂

Rai’s thumb went numb.

So don’t be weird.

As if weirdness was a choice. As if pain was an attitude.

Everyone older already.

The words hit like a mild insult wrapped in laughter.

Because yes–they were older.

But he wasn’t sure he was different.

He typed back slowly.

Rai: Congrats bro. I’ll see.

Three words. Small. Safe. Noncommittal.

The kind of message you send when you’re trying not to bleed on someone else’s happiness.

Brennan’s reply came almost immediately.

Brennan: SEE WHAT. Come lah. I put you at Table 8 with the gang. Like old times. We need you there.

Like old times.

Rai stared at that phrase until the letters blurred.

He did not want old times.

Old times was Nadia stealing a piece of chicken from his plate and laughing when he pretended to be annoyed.

Old times was her slipping her hand into his hoodie pocket when they walked through Tampines Mall because she said it felt warmer there.

Old times was the first time she told him she loved him–softly, like she was testing whether the words would be safe in the air between them.

Old times was also the night it ended.

The fight that wasn’t really a fight. The quiet coldness. The I don’t think you’re letting me in, said in a voice that sounded like exhaustion.

And his reply–too stiff, too defensive, too late.

I’m trying.

He had been trying.

But trying wasn’t the same as showing.

And love, Nadia had once said, shouldn’t feel like knocking on a locked door.

Rai closed his eyes.

He could still see her leaving.

Not storming out. Not slamming doors.

Just quietly gathering her things, folding them carefully into a tote bag like someone packing away a version of herself she didn’t want to be anymore.

He had watched from the doorway.

He had said nothing.

Not because he didn’t care.

Because he didn’t know how to stop someone who had already decided she was tired.

Now, apparently, he was expected to sit beside her at a table and pretend none of that lived inside him.

He exhaled and opened his eyes.

The phone screen had dimmed.

He tapped it awake.

In the reflection, his face looked calm.

That was the problem with him.

He looked calm even when he wasn’t.

Rai opened Brennan’s email again and scrolled to the venue details.

A resort.

Changi.

One of those places with manicured grass and carefully planned romance, where even the air smelled like money.

He imagined Nadia in a dress among those people.

He imagined how she would look from across a room.

Not because he wanted to.

Because his mind went there anyway–traitorous, hungry, full of old habits.

He stood, walked to his bedroom, and pulled open his wardrobe.

There were shirts he hadn’t worn in a while. A blazer still wrapped in dry-cleaning plastic.

He touched the sleeve, then let it drop.

It wasn’t about clothes.

It was about whether he could do this without crumbling.

His phone buzzed again.

This time, a call.

Mum

He hesitated. Then answered.

“Hello?”

His mother’s voice came through warm and practical. “Rai, you free tonight or not?”

“I’m home,” he said.

“Good. Tomorrow your auntie coming over, you remember right? She ask about you already.”

He rubbed his forehead. “Tomorrow? I thought next week.”

“Next week is your cousin’s baby full month,” his mother corrected briskly. “Tomorrow is just makan. You don’t always disappear. You think you still twenty ah?”

He almost laughed, but the sound didn’t come.

“Okay,” he said.

A pause. Then her voice softened slightly, as if she sensed something behind his tone.

“You okay?”

Rai looked at the wedding email still open on his screen.

He could lie.

He could always lie.

But he was tired.

“Brennan getting married,” he said instead.

“Oh! That one ah. The tall boy? Wah, so fast.” His mother sounded pleased. Then, in the way mothers were never as oblivious as their children hoped, she asked, “You going?”

“I don’t know yet.”

“You should go,” she said simply. “Weddings good. Can see happy things.”

Rai swallowed. “Mm.”

“And…” His mother hesitated, the way she did when she wanted to say something but didn’t want to force it.

Rai’s fingers tightened around the phone.

“And what?”

“I heard…” she started.

From who? he wanted to ask.

But he already knew. His mother had a network of aunties that could locate a person’s heartbreak faster than any GPS.

“I heard Nadia also going,” she said gently.

Rai closed his eyes.

The fact that his mother said her name so calmly made it worse.

As if Nadia was just a person in the world, not a crack in his life.

His mother continued, “You two… you okay?”

The question was simple.

But it carried years.

It carried every moment Rai had sat at family dinners pretending he wasn’t quietly losing something.

It carried the nights his mother had heard him come home late and move around the kitchen like a ghost.

It carried the unspoken worry that her son’s silence was not strength but loneliness.

“I’m fine,” Rai said.

His voice came out steady.

That was also a problem.

His mother sighed softly. “Rai. Don’t always ‘fine’. Sometimes can say something also.”

He looked at the mug of plain hot water on the coffee table.

Sometimes can say something.

He didn’t.

“Okay,” he said instead.

His mother let the subject drop, but not the care. “Tomorrow come early. Help me with the chairs. Your auntie back pain.”

“Okay.”

“Eat properly,” she added.

“Okay.”

“And if you go the wedding…”

Rai’s breath caught.

“If you see her,” his mother said, soft now, almost careful, “be polite. Don’t make it hard for people.”

Don’t make it hard for people.

As if he was the one who could ruin things.

He forced his voice to stay neutral. “Yeah.”

After the call ended, the apartment felt larger.

Too much air.

Rai stood there for a long time, phone in hand, until his fingers began to ache.

Then he sat on the edge of his bed.

In the quiet, he found himself doing something he hadn’t done in months.

He opened Nadia’s chat.

It sat there like a sealed room.

Their last messages were dated far back.

His:

Let me know when you’re home.

Hers:

I’m safe. Don’t worry.

Then nothing.

No closure.

No final explanation.

Just silence that stretched so long it turned into a new reality.

Her profile picture was different now.

Not the old one, where she was smiling with her hair tucked behind her ears, leaning slightly into a frame as if she trusted whoever was holding the phone.

Now it was a landscape. A mountain ridge under a pale sky.

Beautiful.

Distant.

Rai stared at it.

He thought, absurdly, of sending something.

A simple Congrats on… life.

A simple See you at the wedding.

But his fingers didn’t move.

Because he didn’t know what the rules were anymore.

Because he didn’t know if she would reply.

Because he didn’t know if he could survive the sight of her typing and then stopping.

He closed the chat.

The action felt like shutting a door again.

He stood up, went to the window, and pulled the blinds aside.

The sky was turning from gold to bruised purple, the clouds thickening with evening. The city lights began to flicker on, one by one, like tiny decisions being made across the island.

Rai watched the world move.

He felt, for a moment, like he was outside of it.

He didn’t know yet whether he would go.

But the truth sat heavy in his chest, undeniable.

If Nadia was going…

Then he would end up there too.

Not because Brennan asked.

Not because his mother advised.

But because some part of him–stubborn, quiet, still loyal to a version of love he never replaced–wanted to know.

Wanted to see her with his own eyes.

Wanted to find out if the seat beside him was still empty because of her…

Or because he had never truly let anyone else sit there.

Outside, the first raindrops hit the window.

Soft at first.

Then steadier.

Rai watched the glass bead with water, watched the city blur, and felt the old ache rise like a tide he couldn’t stop.

Somewhere, in another part of Singapore, Nadia Lim was living her life.

And in a few weeks, their worlds would collide in a room full of vows.

Rai’s phone buzzed one last time.

A new message from Brennan.

Brennan: Bro I already told the hotel you coming. Don’t make me lose face. 😂

Rai stared at it.

Then, slowly, he typed:

Rai: Okay.

One word.

A surrender.

Or maybe–if he was honest–a beginning.

He sent it.

And as the rain thickened against the glass, Rai felt the quiet panic of a man stepping toward a door he had kept locked for a reason.

Because behind it wasn’t just Nadia.

It was everything he never learned how to say.