Soft Launch

Chapter 1

On Monday morning, Jiawen discovered a new kind of hunger.

Not the one that lived in her stomach when she forgot breakfast.

Not the one that showed up after a war-room night when her body demanded carbs like a threat.

This one sat behind her ribs and tightened whenever she saw Faris.

It was the hunger of wanting to act normal–and failing.

It was the hunger of wanting to smile like nothing changed when everything had.

She stood at the entrance of Client Implementation & Solutions with her access card poised above the sensor, staring at the glass door as if it might accuse her.

The etched words–Client Implementation & Solutions–looked too clean for the messy reality that had formed under them.

The air-conditioning pushed cold air through the gap, brushing her face like a warning.

Do not bring your heart in here.

Jiawen tapped her card.

The light blinked green.

The door clicked.

She stepped inside.

Same office.

Same layout.

Same white lights.

Same low partitions that pretended privacy existed.

And there, at the end of the pod near the windows, Faris sat at his desk–tall even in a chair, sleeves rolled, posture steady.

He was looking at his screen, jaw relaxed, eyebrows slightly furrowed in concentration.

Nothing about him screamed I am your boyfriend now.

Which was infuriating.

Because Jiawen’s body had not received the memo.

Her heartbeat did a stupid leap anyway.

Her face–traitor–warmed.

She walked toward her desk with what she hoped was a confident stride.

Her tote bag felt heavier than usual.

Her cardigan slid off her shoulder.

Her heel caught a chair leg.

She wobbled.

She recovered.

She pretended none of it happened.

Faris looked up.

Their eyes met.

For half a second, the office around them blurred.

Jiawen’s brain supplied the memory unhelpfully: Botanic Gardens lamps, wet leaves, his hand steady on her shoulder, his voice calm when he said yes.

Then Faris blinked once.

His expression shifted into something neutral.

Professional.

“Morning,” he said.

The word was normal.

So normal it almost offended her.

Jiawen forced her mouth to behave.

“Morning,” she replied.

Her voice came out slightly higher than usual.

Faris’s eyes flicked briefly to her face.

A micro-pause.

A tiny tightening at the corner of his mouth.

He noticed.

Of course he noticed.

He always noticed.

Jiawen sat down quickly and opened her laptop as if she had a meeting with the screen.

She plugged in her docking station cable with unnecessary aggression.

The screen lit up.

Teams pinged.

SkyFreight tracker loaded.

Everything looked the same.

Which was the problem.

Because Jiawen wanted something to look different.

A secret sign.

A private smile.

Anything.

Instead, Faris said, briskly, “Daily sync in ten. Priya will ask for updates. You ready?”

Jiawen blinked.

The switch.

Work Faris.

Her stomach tightened.

“Yes,” she said quickly. “Ready.”

Faris nodded once. “Okay.”

There it was.

Okay.

The word that used to be a joke.

Now it felt like a small rope tossed to her from his side of the partition.

Jiawen stared at her screen.

Her heart thudded.

She typed, not because she needed to, but because her hands needed to do something.

Across the pod, Reza entered like a loud notification.

“Morning everyone!” he announced to the universe, voice bouncing off glass walls. “Wah, Monday again. Why life like this?”

Ben groaned without looking up. “Don’t talk. My brain still Sunday.”

Priya marched in behind Reza, coffee in hand, eyes already sharp. “Okay, settle. We have ten minutes before call. If anyone surprises me today, I will personally throw you into Swan Lake.”

Reza grinned. “Priya, Swan Lake romantic.”

Priya’s glare could cut through steel.

Reza immediately changed topic. “Jiawen, weekend okay?”

Jiawen froze.

Her fingers paused above the keyboard.

Weekend.

The word was a trap.

She glanced at Faris instinctively.

Faris’s eyes were on his screen.

But Jiawen could tell–like a sixth sense–that he was listening.

Her chest tightened.

“Weekend okay,” she said quickly.

Reza squinted, leaning over the partition like an auntie. “Okay means what kind of okay? Okay okay? Or… okay?”

Ben snorted.

Priya rolled her eyes. “Reza, don’t disturb her. Let her live.”

Reza held up his hands. “I’m just asking. Jiawen got glow today. Maybe she rested. Maybe she found happiness. Maybe she found–”

“Daily sync,” Priya cut in sharply, pointing at the time. “Everyone sit.”

Reza flopped into his chair dramatically.

Jiawen exhaled.

Her heart pounded.

Faris didn’t look at her.

Which somehow made her more nervous.


The daily sync was its usual controlled chaos.

SkyFreight’s accelerated go-live hung over the team like a deadline with teeth.

The client wanted assurance.

The ops team wanted training materials.

The COO wanted miracles.

Faris spoke with his meeting voice–calm, sharp, structured.

Ben explained technical updates.

Priya fired off action items.

Reza played the role of comic relief, but even his jokes were quieter today.

Jiawen listened, taking notes.

When the client asked about documentation readiness, Priya tossed the question to her.

“Jiawen, update?”

Jiawen’s throat tightened.

She glanced at Faris.

He didn’t nod.

He didn’t gesture.

He simply held still, eyes on her face.

The steady presence.

Not saving her.

Trusting her.

Jiawen inhaled.

“Yes,” she said clearly. “Training deck is updated to v1.2, and the SOP draft will be ready by EOD tomorrow. We’ll run through with ops team on Wednesday morning.”

The client’s ops manager nodded.

“Good,” he said.

Jiawen exhaled.

Across the table, Faris’s lips twitched slightly.

Pride.

Then he moved on.

“Next,” Faris said, voice steady. “Cutover plan. Ben, walk through risks.”

Work moved on.

Jiawen’s heart remained too loud.

By the time the call ended, her shoulders ached with tension she hadn’t realised she was holding.

Priya stood, stretching. “Okay. Go and do. Jiawen, nice update. Ben, don’t die. Reza, stop breathing loudly.”

Reza gasped. “Breathing also cannot? Wah, this company.”

Jiawen laughed softly.

It came out too relieved.

Her face betrayed it.

She saw Faris glance at her.

Not long.

Just enough.

Then he looked away.

Jiawen’s chest tightened.

Why are we acting like strangers?

She wanted to ask.

But the office had ears.

And her own fear had teeth too.


At 11:13am, Jiawen’s Teams chat pinged.

A message from a banking vertical colleague she barely knew.

Sharon (Bank CIS): Hey Jiawen! Heard you’re doing really well in Logistics. 💪🏻

Sharon: Also wah you and Faris very close ah? He never so patient with people one.

Jiawen stared at the message.

Her stomach dropped.

She read it again.

Then again.

She felt heat creep up her neck.

Her face–traitor–betrayed panic.

She glanced around.

Ben was buried in his screen.

Priya was on a call.

Reza was missing.

Faris was typing, brows furrowed.

He didn’t see the message.

Jiawen’s fingers hovered over the keyboard.

What did you even reply to that?

“No, we’re not close”? (Lie.)

“Yes, we are”? (Suicide.)

She swallowed.

She typed carefully.

Jiawen: Haha he’s just a good mentor + I ask too many questions 😅

She hit send.

Then immediately regretted it.

Because she could hear Reza’s voice in her head: Mentor only?

Her stomach tightened.

She shut the chat.

Then–because her brain was cruel–she opened it again.

She stared at her own message.

Good mentor.

It looked like a denial.

A denial that made their relationship feel like something shameful.

Jiawen’s throat tightened.

She closed the chat again, this time harder.

Her phone buzzed in her bag.

She didn’t want to check.

She checked anyway.

A WhatsApp from her mother.

Ma: Today you go office early ah? Don’t skip breakfast.

Jiawen exhaled.

Mothers.

They always sensed stress without knowing the details.

She typed back:

Jiawen: Ate already la.

Lie.

Her stomach growled immediately, betraying her.

She pressed a hand lightly to her abdomen like she could silence it.

She glanced at Faris.

He was still typing.

His face looked composed.

But his shoulders seemed slightly tighter than usual.

Like he was holding something too.

Jiawen swallowed.

She wanted to text him.

Something small.

Something private.

Just to feel like they existed outside the office grid.

Her fingers hovered over WhatsApp.

Then she stopped.

What would she even say?

Hi boyfriend.

She would die.

Instead, she typed:

Jiawen: You ate breakfast?

She stared at the message.

It looked ridiculous.

Like a mother.

She almost deleted it.

Then she hit send.

Immediately, her cheeks warmed.

Faris’s phone buzzed on his desk.

He glanced down.

Read.

Then he looked up.

Not directly at her.

Just slightly.

And his mouth twitched.

A small smile.

So small it could pass as nothing.

But Jiawen saw it.

She felt something loosen in her chest.

Faris typed back.

Her phone buzzed.

Faris: No.

Faris: You?

Jiawen stared.

Two words.

Yet it felt like a hand reaching across the partition.

She typed back:

Jiawen: Also no.

A second later:

Faris: Buy something. I’ll treat.

Jiawen’s cheeks warmed again.

She wanted to call him uncle.

She held back.

She typed:

Jiawen: Don’t treat me like intern.

Faris replied:

Faris: Not intern.

Faris: Gir–

The message stopped.

It didn’t send.

Jiawen stared at her phone.

Her heart thudded.

Then another message arrived.

Faris: Friend.

Jiawen froze.

Friend.

The word landed like cold air.

She stared at the screen.

Her throat tightened.

She knew what had happened.

He had typed girlfriend.

Then panicked.

Then changed it.

For optics.

For caution.

For safety.

It still hurt.

Because friend was what people said when they didn’t want to claim you.

Jiawen swallowed.

Her fingers trembled slightly.

She typed back carefully.

Jiawen: Okay.

The word looked calm.

It wasn’t.

Across the pod, Faris stared at his screen for a long moment.

He didn’t look at her.

Jiawen didn’t look at him.

The partitions between them suddenly felt taller.


At 12:20pm, Priya clapped her hands.

“Lunch. Now. Everyone go eat. If you skip, you will become useless, and then I will kill you.”

Reza popped up like he had been hiding. “Priya, you so violent. But okay, lunch.”

Ben stood slowly, stretching like an old man. “I need food. And sleep. And therapy.”

Jiawen stood too.

Faris stood.

Their chairs rolled back at the same time.

The sound was loud in the quiet pod.

Jiawen felt her chest tighten.

They walked toward the lifts with the group.

Reza chatted loudly about his plan to eat mala.

Ben nodded absent-mindedly.

Priya checked her phone.

Jiawen walked slightly behind, eyes on the floor.

Faris matched her pace without touching.

The lift arrived.

They stepped in.

Jiawen stared at the floor numbers like they were the only safe thing.

Faris stood beside her.

His arm brushed hers once, lightly, because the lift was crowded.

Jiawen’s heart jumped.

Faris’s posture stiffened slightly.

Then he relaxed.

He didn’t move away.

Jiawen breathed out slowly.

At the food court, they found their usual table.

Reza ordered mala.

Ben ordered chicken rice.

Priya ate like someone who had no time.

Jiawen poked at her food.

Her appetite had disappeared.

Faris ate quietly, eyes occasionally flicking to her face.

Finally, Priya looked up.

“Jiawen, you okay? You look like your soul left.”

Jiawen blinked.

Her face betrayed surprise.

“I’m okay,” she said quickly.

Faris lifted an eyebrow.

Jiawen’s face betrayed her.

She sighed. “Okay, I’m not okay. I’m just… stress.”

Reza grinned. “Stress is normal. This project want to kill all of us.”

Ben nodded. “Yes. We die together.”

Priya rolled her eyes. “Stop being dramatic.”

Jiawen forced a laugh.

It came out thin.

Her phone buzzed.

She ignored it.

It buzzed again.

She frowned and checked.

Junhao.

Her stomach dropped.

Junhao: Can we talk? I’m sorry. I really regret.

Jiawen’s fingers tightened around her phone.

She had blocked him in the previous book.

But this was the sequel.

He had found a new number.

Because of course he had.

Her chest tightened.

The food court noise blurred.

She could feel Faris’s gaze on her face.

She didn’t want to show it.

She tried to smile.

Her face betrayed her anyway.

Faris leaned slightly closer, voice low.

“What happened?”

Jiawen swallowed.

She didn’t want to say his name.

Not here.

Not at a table full of colleagues.

She forced a small laugh.

“Nothing,” she whispered.

Faris’s eyes narrowed slightly.

Jiawen’s chest tightened.

Priya was arguing with Reza about mala spice level.

Ben was staring into space.

No one was looking.

Still, Jiawen felt exposed.

Faris’s voice softened.

“Jiawen,” he murmured, barely audible, “you don’t have to handle alone.”

The words warmed her and scared her.

Because he was saying it like he meant it.

Like he had a right.

Jiawen swallowed.

She leaned slightly closer, voice low.

“It’s Junhao,” she whispered.

Faris’s jaw tightened.

His eyes flicked to her phone.

Then back to her.

He didn’t react dramatically.

He didn’t slam the table.

He simply said, quiet and firm, “Block.”

Jiawen’s throat tightened.

“I already did,” she whispered.

Faris nodded, eyes steady. “Then block again.”

Jiawen stared at him.

His calm made her want to cry.

She inhaled shakily.

Then, under the table, she tapped.

Block.

Again.

Her breath shuddered.

Faris’s gaze softened.

“Good,” he murmured.

Jiawen’s mouth twitched.

She almost laughed.

Reza suddenly leaned toward them, grin wide.

“Eh, what you two whispering? Secret plan ah?”

Jiawen froze.

Faris didn’t.

Faris looked at Reza with perfect calm.

“Work,” he said.

Reza gasped dramatically. “Wah, so serious. Okay, okay.”

Priya kicked Reza under the table without looking.

Reza yelped.

Ben laughed weakly.

The moment passed.

But Jiawen’s heart still pounded.

Because Faris had protected her without making it a scene.

And because she was starting to realise:

Being careful wasn’t the hard part.

The hard part was learning how to be careful without feeling alone.


Back at the office, the afternoon dragged.

SkyFreight tasks piled.

Calls came.

Emails arrived.

The day moved like a conveyor belt.

But the message exchange kept replaying in Jiawen’s head.

Friend.

Gir–

Friend.

It wasn’t his fault.

It was the office.

It was optics.

It was fear.

Still, it hurt.

At 5:37pm, Jiawen couldn’t take it anymore.

She stood abruptly.

Faris looked up.

Jiawen’s voice came out small.

“Faris,” she whispered.

He leaned closer. “Yeah?”

Jiawen swallowed.

Her face betrayed nervousness.

“When you texted… earlier,” she began.

Faris went still.

Jiawen continued, voice low, “I know you changed it because… office. But… don’t call me friend.”

Faris stared.

His throat moved like he swallowed something.

A flicker of guilt crossed his face.

Then his eyes softened.

“Okay,” he whispered.

Jiawen blinked. “That’s all?”

Faris’s mouth twitched.

He leaned closer, voice barely audible.

“Not friend,” he said. “Just… not loud here.”

Jiawen’s chest loosened.

Relief washed through her.

She nodded.

“Okay,” she whispered.

Faris nodded once. “Okay.”

They stared at each other for half a second.

Then both looked away quickly, as if eye contact was illegal.

Jiawen sat back down, cheeks warm.

Her phone buzzed again.

A Teams notification.

HR Reminder: Workplace Conduct & Professional Boundaries

She stared at it.

Then she looked at Faris.

He was staring at his own screen too.

For a moment, Jiawen felt absurdly grateful.

Because even with HR emails and rumour season and exes with new numbers…

She wasn’t guessing her status anymore.

That night, when she got home, she found the handkerchief in her bag.

Folded neatly.

Her note still inside.

She held it for a moment, pressing it to her fingers like a secret.

Then she smiled.

Soft.

Brave.

And typed a message to Faris.

Jiawen: Good night.

Jiawen: Not friend.

His reply came a minute later.

Faris: Good night.

Faris: Okay.

Jiawen rolled her eyes, laughing quietly into her pillow.

And for the first time since the soft lamps of Botanic Gardens, the tightness behind her ribs eased.

Because this was what a soft launch looked like.

Messy.

Awkward.

Careful.

But real.

And somewhere in the background, like a distant low note, the office’s glass walls waited–ready to reflect the next thing they tried to hide.