The Photo Problem

Chapter 4

The morning of the wedding arrived with the kind of brightness that felt personal.

Nadia woke before her alarm, eyes opening to pale sunlight spilling across the hotel bed like a quiet accusation. The curtains had been left slightly parted the night before–she hadn’t remembered doing it, but it didn’t matter. The sea beyond the glass was already awake, glinting in thin strips between swaying palms. Somewhere outside, birds called out with casual certainty.

She lay still for a moment, listening.

The resort hallway was hushed. No laughter yet. No clinking glasses. No microphones. Just the faint hum of air-conditioning and the distant thud of a door closing far away.

In the quiet, her mind tried to do what it had been doing since yesterday afternoon–replaying moments she didn’t want to keep.

The lift doors closing.

Rai’s eyes catching hers through the narrowing gap.

His message–You’re here.

Then that one-word wall: Okay.

Nadia inhaled slowly, the breath catching midway as if her body still hadn’t forgiven her for inviting this weekend into her life.

Focus, she told herself. This is Brennan’s wedding. Not yours. Not a test. Not a second chance. Just a weekend.

Her phone buzzed on the bedside table.

Bride Group: Morningggg! Makeup at 9.30. Don’t be late. 😘

Another message slid in beneath it.

Brennan: Nadia! Pls help. We doing group photos before ceremony. Need all NTU people. You’re in the “friends” shot okay 🙏

Nadia stared at the screen until the words blurred slightly.

Group photos.

She pictured it immediately–people arranged in rows, shoulders touching, arms around waists, laughter on cue. The kind of closeness that looked innocent to everyone else and felt like a cruel trick to her.

She swung her legs off the bed and stood.

The carpet was cool under her feet. She crossed to the bathroom and turned on the tap, letting cold water run over her hands. The mirror reflected a face that looked composed, even slightly rested.

The face of someone who had slept.

Not the face of someone who’d spent half the night staring at the ceiling, listening to the soft roll of waves and wondering what Rai was doing in the room somewhere below.

She brushed her teeth, washed her face, moved through routine like it was armor. When she moisturized, she did it carefully. When she applied sunscreen, she did it deliberately.

A wedding, she had learned, punished you for looking like you were struggling.

By nine, she was dressed in a simple robe for makeup, hair clipped back. She took the elevator down, clutching her tote like a lifeline.

The function room reserved for bridal preparations smelled like hairspray and sweet pastries. Makeup artists moved with practiced speed. The bride, smiling and glowing in her own orbit of excitement, squealed when Nadia walked in.

“Nadia!” The bride–Lena–hurried over and hugged her. “You made it! I was scared you’d disappear.”

Nadia returned the hug, careful not to crush Lena’s curls. “I’m here. I promised.”

Lena leaned back, eyes shining. “Okay, sit. We need to make you pretty.”

Nadia smiled politely. “I’m already pretty.”

Lena laughed loudly. “True. But today must be wedding pretty.”

The room erupted in friendly teasing. Nadia let herself be guided to a chair. The makeup artist draped a cape over her shoulders.

As foundation brushed over her skin, Nadia’s mind kept slipping.

Not to regret.

To anticipation.

She hated herself a little for it.

A part of her kept waiting for some message from Rai–something longer, something softer, something that suggested the corridor last night had meant anything.

Nothing came.

Time moved.

By late morning, the bridal group was dressed and ready. The bridesmaids wore coordinated shades of muted blue. Nadia’s dress hugged her waist softly without being dramatic, the kind of elegance that made you look put-together even if your insides were fraying.

When she stepped out into the brighter lobby, camera crew and photographers already gathering near the lawn, the resort looked transformed.

A wedding changed the air.

It filled the space with purpose.

People moved like they were part of a script, smiling at strangers as if they had always belonged to each other.

Nadia walked with the bridesmaids toward the outdoor garden where the pre-ceremony photos would happen.

The heat hit immediately.

Singapore sun–sharp, direct. The kind that made you sweat under your makeup and feel like the air itself was pressing down on your shoulders.

Photographers directed people into clusters near the archway of white flowers. The sea beyond glittered too brightly, as if it didn’t understand what it was being used as a backdrop for.

Nadia squinted slightly.

Then she saw the groomsmen gathering on the other side of the lawn.

Rai wasn’t in a groomsman suit.

Of course he wasn’t. He wasn’t part of the wedding party.

But he was there–standing near Brennan’s group, dressed in a crisp white shirt and dark trousers, sleeves rolled just enough to expose his forearms.

He looked… clean.

Controlled.

Like he had decided to become an object the camera couldn’t soften.

Nadia’s chest tightened.

Someone tugged her arm. “Nadia, come! Lena wants a photo with the NTU friends first.”

Nadia nodded, forcing her body forward.

The photographer–a tall man with a headset and the confident voice of someone who had choreographed too many happy moments–clapped his hands.

“Okay! We’re going to do friend group photos first. Everyone who is university friends, come, come! Don’t shy.”

People flowed toward him. Familiar faces, half-familiar faces. Laughter and calls of names.

Nadia moved with them, trying to keep her expression relaxed.

She didn’t look for Rai.

She didn’t have to.

He was already there.

Close.

Too close.

The photographer waved them into position. “Okay, taller people at the back. Shorter in front. Bride and groom in the center. Friends around them like a big hug. Yes, yes.”

Nadia found herself pushed gently forward by someone behind her.

Then Rai’s voice, low near her ear.

“Careful.”

She froze.

Not because the word was dramatic.

Because it was him.

Because his voice was too familiar, and the sound of it in her space made her body remember things she had tried to bury.

She glanced sideways.

Rai’s hand hovered near her elbow–not touching, not claiming. Just there, as if he had instinctively reached out when he saw the crowd jostling.

Nadia swallowed.

“I’m fine,” she said automatically.

His gaze flicked to her face.

For a second, something almost like amusement touched his eyes.

Then it vanished.

“Yeah,” he said quietly. “Okay.”

There it was again.

That word between them like a shared bruise.

The photographer called out, “Okay, Table 8 people, come closer! You all friends right? Stand nearer. Don’t look like strangers.”

Nadia’s stomach dropped.

Rai’s shoulders stiffened slightly.

Kelvin, somewhere behind them, laughed too loudly. “We friends lah! Very close friends.”

Sherlyn hissed, “Kelvin, shut up.”

Lena, unaware, smiled brightly. “Yes, yes. Nadia, Rai, come here. Stand next to me, you two.”

The command was said with innocence.

But Nadia felt it like a shove.

She stepped forward, her heels sinking slightly into the lawn.

Rai moved with her, a controlled shift.

The photographer adjusted the group like a puzzle. Hands on shoulders. Arms around waists. People laughing.

Then the photographer frowned slightly, looking at the composition.

“Okay, Nadia, can you stand here,” he said, gesturing just beside the bride.

Nadia shifted into place.

“And Rai–yes, you–stand beside her. Good. Put your hand behind her, like this. Not on her waist, just behind, so it looks cohesive.”

Nadia’s breath caught.

Rai didn’t move.

The photographer glanced up, impatient. “Yes, like you’re comfortable. You all friends, right?”

Kelvin wheezed with laughter.

Nadia felt the heat crawl up her neck.

She forced herself not to look at Rai.

But she could feel him.

His presence beside her, steady and warm.

The photographer repeated, “Hand behind. Don’t be stiff.”

Rai moved slowly.

His hand lifted, hovering behind Nadia’s back.

Not touching.

But close enough that she could feel the heat of him through the thin fabric of her dress.

Nadia’s heartbeat hammered.

The photographer squinted at them. “Okay, okay, good. Now everyone look at me. Big smile. One, two, three–”

The shutter clicked.

Again.

Again.

Nadia smiled.

Not because she felt happy.

Because she knew how to wear a smile like a mask.

She heard Lena laugh, heard Brennan shout something teasing. The group burst into more laughter. The photographer applauded.

“Good! Very good. Okay, now some candid. Bride and groom in the center, friends around them, look at each other, laugh, don’t look at me.”

The group shifted.

People turned, chatting, teasing.

Nadia felt someone bump her, and her heel slipped slightly in the grass.

Her body tilted.

Before she could catch herself, a hand steadied her.

Rai’s hand.

Firm on her elbow.

Not gripping.

Just supporting.

For half a second, Nadia’s weight rested against his touch.

Her mind flashed–his hand on her elbow guiding her through crowded MRT stations, his fingers warm and certain.

She had once teased him about it.

You always hold me like I’m going to fall.

And he had replied, without humor, Because you will, if I don’t.

Nadia’s breath stuttered.

She straightened quickly.

Rai’s hand withdrew immediately, as if he was afraid of being caught touching her for too long.

“Thanks,” she whispered.

His gaze flicked to her face.

“Careful,” he said again.

The same word.

But this time it didn’t feel like a warning.

It felt like–habit.

Like a reflex love had carved into him.

Nadia’s throat tightened.

The photographer called out, “Nice! That’s good candid! Okay, everyone done. Next group!”

People moved away, relieved.

Nadia exhaled slowly.

She turned slightly, intending to create distance.

But Lena caught her arm. “Nadia! Come take photos with me and the girls.”

Nadia smiled. “Okay.”

The bride dragged her away.

Yet Nadia could feel Rai’s gaze for a moment longer, lingering like a bruise.


The next hour moved in bursts.

Photos with bridesmaids.

Photos with family.

Photos with colleagues.

The camera demanded constant warmth.

Nadia laughed on cue, adjusted her posture on command, lifted her chin when asked.

But the sun grew hotter.

The makeup began to feel heavy.

Her heels began to pinch.

And every time she thought she had escaped Rai’s orbit, she saw him again–in the background, in the corner, in another cluster of friends.

Not approaching.

Not avoiding.

Just… existing.

And somehow that was worse.

Because it meant he wasn’t playing games.

He was simply… there.

A reality she couldn’t edit.

At one point, while the photographer arranged Lena with her parents under the arch, Nadia slipped away toward a shaded corner near the lounge, desperate for water.

The air under the canopy was cooler, the shade offering relief. She loosened her grip on her clutch and flexed her toes inside her heels.

Her phone buzzed.

A notification.

Not a message.

A tag.

Kelvin had posted a story.

The image loaded.

A candid photo from the earlier friend shot.

Lena and Brennan in the center, laughing.

Friends around them.

And there–on the edge of the frame–Nadia and Rai.

Close.

Too close.

Rai’s hand behind her back, hovering like a promise he didn’t dare touch.

Nadia’s smile bright, effortless, false.

Kelvin had captioned it:

“NTU OGs back together 😂❤️”

Nadia’s stomach flipped.

She stared at the image, horrified by how normal they looked.

How easy the photo made it seem.

How the camera flattened three years of silence into a single moment of closeness.

Her fingers trembled slightly.

She was about to close the story when another notification appeared.

Sherlyn replied to Kelvin’s story.

“Delete this lah you idiot.”

Kelvin responded:

“Why? Nice what.”

Nadia’s chest tightened.

It would spread.

Not because anyone cared deeply.

But because people loved narratives.

They loved to stitch old lovers back together, because it made the world feel tidy.

Nadia swallowed.

She typed quickly.

Nadia: Kelvin, please delete. Don’t start anything.

The typing bubble appeared.

Then:

Kelvin: Aiya sorry sorry. I thought okay. Delete now.

The story vanished a minute later.

But Nadia knew it was too late.

Someone would have seen.

Someone would have screenshotted.

Someone would mention it casually later, smiling like it was a harmless joke.

Her throat tightened.

She lifted her head, trying to breathe.

That was when she noticed Rai.

He stood near the edge of the canopy, slightly apart from the crowd.

His gaze was on her.

Not staring.

Not demanding.

Just… watching.

As if he had seen the panic shift across her face.

Nadia’s pulse jumped.

She forced her expression smooth.

Rai walked toward her slowly.

The distance between them closed in measured steps.

Nadia’s fingers tightened around her phone.

Rai stopped a few feet away.

“Kelvin posted,” he said quietly.

It wasn’t a question.

Nadia’s breath caught. “You saw?”

Rai nodded once. His expression was neutral, but his eyes held something tired. “He deleted already.”

Nadia let out a slow breath.

Then, unable to stop herself, she asked softly, “Does it bother you?”

Rai’s gaze held hers.

A small pause.

Then he replied, equally soft, “Everything bothers me.”

Nadia’s chest tightened.

The honesty was blunt.

But not cruel.

It sounded like exhaustion.

She stared at him, suddenly unsure what to do with the fact that he was willing to admit that.

Before she could respond, a staff member approached with a tray of bottled water.

Rai reached for one, twisted the cap open, and held it out.

Nadia hesitated.

It was such a simple thing.

A bottle of water.

But it felt intimate because it was him.

Because he had always been the one to notice her thirst before she did.

Nadia took it.

“Thanks,” she murmured.

Rai nodded.

For a moment they stood in the shade, both holding water like it was something heavier than it should be.

Nadia took a sip.

Cool relief.

Then her eyes drifted down.

Rai wore a watch.

Not a flashy one.

A simple, clean design.

Her stomach tightened.

She recognized it.

It was the one she had bought him years ago for his birthday–the first expensive thing she had ever splurged on without guilt.

He had protested.

Too much.

And she had told him, smiling, You’re always spending on everyone else. Let me do this.

He had worn it nearly every day after that.

Seeing it now was like seeing a ghost.

Nadia’s throat tightened.

Rai noticed her gaze.

His sleeve shifted slightly as if he became aware of it too.

He didn’t hide it.

He didn’t explain.

He just looked at her with a quiet steadiness.

As if he had known she would notice.

As if he had wanted her to.

Nadia swallowed hard.

Her voice came out quieter than she intended.

“You still wear it.”

Rai’s eyes flickered.

He glanced down at his wrist briefly.

Then back up.

“Yeah,” he said.

That was all.

No justification.

No apology.

Just a fact.

Nadia’s chest tightened again.

Heat and humidity pressed against her skin, yet she felt cold.

Because the watch meant something.

It meant he had carried parts of her even when she was gone.

It meant he hadn’t erased her.

It meant he had kept the seat empty.

Nadia forced herself to breathe.

She wanted to say something.

Something like I didn’t mean to hurt you.

Something like I was drowning too.

Something like I thought leaving was the only way to survive.

But her mouth stayed closed.

Because words were dangerous here.

Because the wedding day was not the day for confessions.

And because she was terrified that if she opened her heart even slightly, Rai would see how messy she still was.

A bridesmaid called from behind, “Nadia! We need you!”

Nadia flinched.

She looked toward the call.

Then back at Rai.

His expression remained steady.

Not disappointed.

Not demanding.

Just… there.

Nadia forced a polite smile. “I have to go.”

Rai nodded once. “Yeah.”

She started to walk away.

Then she heard his voice again, softer.

“Your heel is slipping.”

Nadia froze.

She looked down.

One heel strap had loosened slightly, the buckle barely holding.

Nadia’s stomach dropped.

Of course.

Of course it would happen now.

Her fingers fumbled with the buckle. “It’s fine. I can fix–”

“Sit,” Rai said, quiet but firm.

Nadia blinked.

Rai pointed toward a low bench under the canopy.

Nadia hesitated.

The idea of sitting while Rai hovered near her foot felt–too intimate.

Too exposed.

But her heel was genuinely slipping, and the thought of falling in front of everyone made her stomach twist.

She sat.

Rai crouched down without hesitation.

Nadia’s breath caught.

He was close now.

Close enough that she could see the faint crease between his brows.

Close enough to smell his cologne–clean, understated, familiar.

Rai’s fingers moved carefully, tightening the buckle with practiced ease.

He didn’t touch her skin unnecessarily.

He didn’t linger.

He just… fixed it.

Like he always did.

Nadia stared at the top of his head, her throat tight.

“You don’t have to,” she whispered.

Rai’s fingers paused for a fraction.

Then he resumed.

“I know,” he said quietly. “I still do.”

The words landed like a punch.

Nadia’s chest tightened until it hurt.

Rai finished fastening the strap and stood.

He stepped back immediately, giving her space.

Nadia flexed her foot cautiously.

Secure.

She looked up.

Rai’s eyes held hers.

There was no triumph in them.

No accusation.

Just that same quiet sadness she had seen last night.

And something else beneath it.

Something stubborn.

A kind of loyalty that didn’t care whether it was wise.

Nadia stood.

“Thank you,” she said, voice thick.

Rai nodded once.

Then, before she could let the moment stretch into something dangerous, Nadia turned and walked back toward the photo crowd.

Her steps were steady.

But her heartbeat was not.


By early afternoon, the photos shifted indoors.

The heat had become too harsh, the bride’s makeup beginning to melt. Everyone moved into air-conditioned hallways, function rooms, and shaded lounge corners.

Nadia found herself herded into yet another group shot–this time with the “friends” line-up again.

The photographer, sweating slightly despite the cool air, waved them into position.

“Okay, same group! This one more casual. Like you all at a party, okay? Talk, laugh, interact.”

Nadia wanted to disappear.

Rai stood two people away this time, Kelvin wedged between them like a loud human barrier.

Nadia exhaled in relief.

But the photographer frowned at the composition.

“No no no,” he said. “Kelvin, you stand back a bit. Rai, you come forward. Nadia, you come forward too. Need balance.”

Nadia’s stomach dropped again.

Kelvin grinned mischievously. “Wah, photographer also ship ah?”

Sherlyn kicked him again.

Rai moved forward without comment.

Nadia did too.

They ended up side by side.

Again.

The photographer pointed. “Okay, Rai, put your arm around Brennan. Nadia, lean in slightly. Yes, yes. Don’t look stiff. Everyone relax.”

Nadia forced herself to breathe.

She leaned in toward the group, careful not to lean into Rai.

But the space was crowded.

Her shoulder brushed his.

A small touch.

Yet it felt electric.

Rai stiffened slightly.

Then, deliberately, he relaxed.

As if he was choosing not to flinch.

The camera clicked.

Again.

Again.

Nadia smiled until her cheeks ached.

When the photographer finally called a break, Nadia stepped away quickly, seeking water, air, anything.

She found a small hallway outside the ballroom.

It was quieter here.

Cooler.

She leaned her shoulder against the wall, exhaling slowly.

Her phone buzzed again.

A message from her mother.

Mum: Wedding today ah? You look nice in the photos. Who is that guy beside you? 😏

Nadia’s stomach twisted.

Photos.

Of course.

Someone had posted.

Someone had tagged.

Her mother had seen.

Nadia stared at the message, fingers hovering.

She typed:

Nadia: Just friends from uni.

Then she paused.

The lie felt too sharp.

Because Rai wasn’t “just friends.”

Not to her.

Not ever.

She deleted the reply.

Typed again:

Nadia: It’s Rai.

She sent it.

Her mother replied almost instantly.

Mum: Rai?? Your Rai??

Nadia’s throat tightened.

Nadia: Yes.

A pause.

Then:

Mum: Wah. God really likes to test people.

Nadia’s breath caught.

Her mother sent another.

Mum: Be kind ah. To him, to yourself.

Nadia stared at that line for a long time.

Be kind.

As if kindness was simple.

As if kindness didn’t risk reopening wounds.

She was about to put the phone away when she heard footsteps.

She lifted her head.

Rai walked into the hallway.

He looked like he had been searching for somewhere quieter too.

When his eyes landed on Nadia, he slowed.

Not stopping immediately.

Giving her the chance to leave if she wanted.

Nadia didn’t move.

Maybe she was tired of running.

Rai stopped a few feet away.

For a moment, neither spoke.

The distant sound of laughter and music drifted from the ballroom.

The scent of flowers lingered in the air.

The hallway lights cast soft shadows.

Nadia swallowed.

Rai’s gaze flicked to her phone.

“People already posting?” he asked quietly.

Nadia nodded once, bitter amusement tugging at her mouth. “My mother just asked who you are.”

Rai’s jaw tightened slightly.

He looked away, then back.

“What did you say?”

Nadia hesitated.

Then, softly, “I said it’s you.”

Rai’s eyes held hers.

For a second, something flickered there–relief, pain, both.

He nodded once.

Nadia forced herself to ask the question sitting like a stone in her chest.

“Are you… okay with all this?”

Rai’s lips pressed together.

He exhaled slowly.

“No,” he said.

The honesty stunned her.

Rai continued, voice low. “But it’s not about me. It’s their day.”

Nadia’s throat tightened.

Of course he would say that.

He had always carried responsibility like it was oxygen.

She wanted to tell him that he was allowed to feel.

That he was allowed to be messy.

But the words didn’t come.

Instead she murmured, “I didn’t want to make it hard.”

Rai’s gaze sharpened slightly.

“For who?”

Nadia blinked.

Rai’s voice stayed quiet, but there was something raw beneath it.

“For them? Or for you?”

Nadia’s chest tightened.

She looked away, unable to hold his gaze.

The hallway suddenly felt too narrow.

She could feel the weight of his question.

She could feel how close they were to saying things they weren’t ready to say.

Before she could respond, Brennan’s voice boomed from the ballroom entrance.

“NADIA! RAI! Eh, you two hiding here ah! Come, come! We need help.”

Nadia flinched.

Rai straightened.

Brennan hurried over, tie slightly loosened, eyes bright with pre-wedding chaos.

“Okay okay,” Brennan said, breathless. “Small emergency. The aisle seats–some aunties coming, need ushers. You two steady, can help or not? Just guide the older folks to seats. Also need someone to handle the mic for the speech later. Rai, you good with tech right? Nadia, you good with people. Perfect.”

Perfect.

Nadia almost laughed.

Brennan looked between them, oblivious to the tension he was dragging into responsibility.

“Please ah,” he begged. “I trust you two the most. Don’t abandon me today.”

Rai nodded once. “Okay.”

Nadia’s lips parted, ready to protest.

But she saw Brennan’s face.

So hopeful.

So earnest.

And she swallowed her own fear.

“Okay,” she said.

Brennan grinned, relieved. “Good! Later ceremony start at four. You two stand near the entrance, guide aunties. Simple. After that, can relax.”

Relax.

Nadia glanced at Rai.

His expression was unreadable.

But he didn’t argue.

Brennan clapped their shoulders like they were a team and rushed off again.

The hallway fell quiet.

Nadia looked at Rai.

He looked back.

For a moment, there was something almost darkly funny in it.

As if fate had decided they weren’t allowed to keep distance.

As if someone had moved their seats closer–again.

Rai exhaled slowly.

“Ushers,” he murmured.

Nadia’s mouth curved faintly despite herself. “We’re always doing things for other people.”

Rai’s gaze held hers.

His voice softened, nearly inaudible.

“Yeah.”

Then he added, quieter still, “You used to like that.”

Nadia’s chest tightened.

She didn’t respond.

Because it was true.

She had liked being useful.

Until she realized she was being useful to everyone except herself.

She looked away.

“Let’s just get through today,” she said.

Rai nodded once.

But his eyes lingered on her for a beat too long.

As if he wanted to say: I’m trying. I’m still trying.

Nadia’s throat tightened.

She turned toward the ballroom.

The ceremony would start soon.

And she would have to stand beside Rai at the entrance, guiding people to seats–

Seats.

Empty.

Reserved.

Occupied.

Nadia felt the motif tighten around her chest like a thread.

Because the seat she feared most wasn’t in the ballroom.

It was the one beside her heart.

The one she had told herself Rai no longer held.

But today–under cameras and vows and sunlight–fate kept pushing him right back into place.

And Nadia wasn’t sure she could keep pretending it meant nothing.

Not with his watch still on his wrist.

Not with his hands still steadying her when she slipped.

Not with the way he had asked, For who?

A question that felt like the beginning of a truth she had been avoiding for three years.

As she walked back into the bright noise of the wedding preparations, Nadia felt the ground shift under her.

The photo problem had been only the first test.

Now the ceremony was next.

And there were seats waiting.

Some empty.

Some reserved.

Some–dangerously–still meant for them.