Actions

Work Header

Rating:
Archive Warning:
Category:
Fandom:
Relationship:
Characters:
Additional Tags:
Language:
English
Stats:
Published:
2025-07-18
Words:
4,458
Chapters:
1/1
Comments:
7
Kudos:
78
Bookmarks:
6
Hits:
543

A word from a soulmate

Summary:

He didn’t believe in soulmates, until Xiao Zhan said the words inked on his skin.

______

It started with a soulmate mark and an omelet. It might end with forever.

Work Text:

Wang Yibo didn’t believe in soulmates.

He thought the concept was outdated. Romanticized superstition. Pseudoscientific nonsense repackaged in warm Instagram quotes and those “What’s Your Soulmate’s First Words?” quizzes that his friends kept spamming in the group chat.

He was a man of logic. Of routines. Of daily protein shakes and code reviews and motorcycle grease under his fingernails. Soulmates were the kind of thing that made good stories, not good sense.

Still.

He hadn’t removed the words printed neatly along the inside of his forearm. Even when he could afford the laser sessions. Even when it became embarrassing to have strangers squint at them in the subway like they were a math problem.

"You’re not as tall as I imagined. But you’re cuter, so I’ll allow it."

He didn’t even know what that was supposed to mean.

He was 179 centimeters. Objectively average. Not short, not tall. Also, he wasn’t cute, he was stoic. Intimidating. The kind of man people mistook for annoyed when he was just thinking about rice cookers. So whoever this soulmate was? Rude. Presumptuous.

And somehow always on his mind.

Yibo wasn’t the type to romanticize. He didn’t daydream on train rides or write poetry in the margins of receipts. But every once in a while, usually late at night, usually after he’d peeled off his hoodie and was brushing his teeth in the mirror, he’d glance at the words. Not on purpose. Just… habit.

He’d trace them absently while the toothbrush buzzed. Wonder about the voice behind them.

Then he’d shake it off and go back to solving real problems. Like why his API wasn’t returning data, or why his cat refused to use the expensive bed he’d bought and insisted on sleeping inside a cardboard ramen box instead.

---

Xiao Zhan, on the other hand, was a romantic in the most impractical ways.

He believed in eye contact across crowded rooms. In the warmth of someone’s fingers brushing yours in passing. In words etched into skin before you ever knew whose mouth they’d come from.

He loved the idea of being meant for someone. Of a tether, invisible but real, that led two people to the same park bench, or the same bookstore, or the same elevator at precisely the right moment.

Of course, he also believed in overwatering his succulents because “they looked thirsty,” so his judgment wasn’t perfect.

Still, his soulmate’s words were a comfort on the days when life felt too big and noisy. When deadlines piled up, or when his agency told him to “try acting less… sincere” in interviews. He’d sit by his windowsill with a mug of weak coffee and rub his thumb over the script on his inner arm.

"Do you always glare at your coffee like it insulted your mother?"

He’d grin, every time.

Whoever they were, his soulmate had a sharp tongue and too many opinions. Probably a little mean. Probably tried to hide that they cared a lot. Probably the kind of person who hated cliché, and would end up in one anyway, just for him.

Xiao Zhan had learned not to look for them too actively. He wasn’t going to scan every barista’s face or flirt with strangers just for the thrill of maybe. He’d wait. They’d find him. The universe had a weird sense of timing like that.

---

The week they met, the world felt vaguely misaligned.

Yibo’s favorite boba place was closed for “plumbing issues.” He missed his morning alarm and had to skip his gym session. His supervisor emailed him six times in a row with corrections, most of which were worded like he was personally responsible for society’s downfall. His cat threw up on his keyboard.

Xiao Zhan, meanwhile, had managed to trip twice in one day, once on his own shoelaces and once while trying to avoid a pigeon. He spilled tomato soup on his shirt before a meeting. He left his house keys inside and had to call his landlord, who was also his aunt, who lectured him for thirty minutes about not manifesting chaos.

It was the kind of week where the moon probably looked lopsided. Where the playlist shuffled only the sad songs. Where nothing was wrong exactly, but everything felt tilted.

---

They met on a Wednesday.

Rainy, cold, post-lunch lull kind of Wednesday.

Yibo had just sat down at the café near his office, nursing a black americano and silently resenting the world for existing. His laptop was open. His code wasn’t compiling. His brow was furrowed. This coffee was garbage.

Then the man sat across from him.

Uninvited. Smiling. Wearing a mint green sweater and sunglasses indoors like it was still summer.

Yibo blinked. “Can I help you?”

The stranger tilted his head, studying him. And then–

“You’re not as tall as I imagined,” he said brightly. “But you’re cuter, so I’ll allow it.”

Time paused.

Yibo stared. His brain flatlined. His coffee steamed quietly between them, like it didn’t just witness a cosmic punchline land directly on his table.

“What did you just say?” he asked flatly.

The man across from him blinked once. Twice. Then realization seemed to strike, slow and blooming and utterly chaotic. “Oh… no way.”

He started laughing.

Out loud.

Right there.

People turned. The barista peeked from behind the espresso machine with alarm. A child two tables down dropped their muffin in surprise.

“Oh my god,” the man wheezed, clutching his stomach, “I knew it! I knew it’d be someone like you. You’re doing the whole quiet-and-judgy thing. Wow. Okay. This is happening.”

Yibo’s brain caught up with a stutter.

The words. The words. 'You’re not as tall as I imagined—'

He narrowed his eyes. “Who are you?”

“Xiao Zhan,” came the answer, between chuckles and a very dramatic flip of his bangs. “Thirty, artist, dog person, serial over-thinker, two-and-a-half star cook. Also,” he reached across the table and poked Yibo’s coffee cup, “apparently your soulmate.”

Yibo sat in stunned silence. Then, very slowly, he lifted his cup and took a long, deliberate sip.

“You’re real,” he muttered. “And worse, you talk exactly like this.”

“Rude,” Xiao Zhan said cheerfully, undeterred. “But accurate.”

He leaned back, studying Yibo with open curiosity. “I gotta say though, I thought I’d meet you under more dramatic circumstances. Rain’s good, but I imagined like… lightning. A flat tire. Something worthy of a meet-cute montage.”

“This isn’t a movie.”

“No,” Xiao Zhan agreed. “But you’re kind of acting like a grumpy male lead, so I feel justified in flirting.”

Yibo pinched the bridge of his nose.

Soulmate.

Soulmate.

He was going to kill the universe. And then himself. And then probably Xiao Zhan, just to complete the triangle.

“Do you always react to soulmate revelations by harassing strangers in cafés?” he asked.

Xiao Zhan grinned. “Only the ones glaring at their coffee like it insulted their mother.”

That got him a twitch of a smirk, barely there, just at the edge of Yibo’s mouth. But Xiao Zhan caught it.

He absolutely caught it.

---

Ten minutes later, they were still at the café.

Xiao Zhan had somehow coaxed Yibo into not storming off, probably with sheer momentum and a very distracting dimple. The two of them sat at a small corner table, guarded by mutual skepticism and the remains of an unwanted pastry.

“So,” Xiao Zhan said, stirring his tea. “You didn’t think I’d show up, huh?”

Yibo gave a small shrug. “Didn’t think about it at all.”

Xiao Zhan raised an eyebrow.

“Right,” he said slowly. “That’s why you’re wearing long sleeves in twenty-degree weather. Definitely not hiding your mark.”

Yibo didn’t dignify that with a response. He was too busy pretending to look at his email, which he wasn’t checking, because his eyes kept flicking up to watch Xiao Zhan.

His soulmate, apparently.

Who was now taking selfies with his tea, duck lips and everything.

“Are you always like this?” he asked after a minute, half-exasperated, half-intrigued.

Xiao Zhan glanced up. “Define ‘this.’”

“Loud. Dramatic. Incapable of sitting still.”

“Wow,” Xiao Zhan said, “You make me sound like a toddler hopped up on sugar.”

Yibo arched an eyebrow.

“…Okay, fine, that’s fair.”

They shared a look. A very long, slightly electrified look.

For the first time, silence didn’t feel awkward between them. It just… was. Full of curiosity and tentative gravity. Like something had begun to tilt, slowly, surely, into place.

Eventually, Zhan stood.

“Alright,” he said brightly, “I’ve bothered you enough for one afternoon. You’re free to resume judging your coffee in peace.”

Yibo frowned. “You’re leaving?”

“I don’t want to overstay my welcome. And besides—” Xiao Zhan leaned in, mischievous, “mystery is sexy. Can’t give you all this at once.”

Yibo didn’t blink. “You just licked a sugar packet and called it ‘tea seasoning.’ The mystery is gone.”

Xiao Zhan laughed, a full belly-laugh this time, before stepping back and ruffling Yibo’s hair — actual physical contact, what gave him the right?

“Don’t worry, Mr. Stoic,” he said, already halfway out the door, “you can text me when you realize you miss me.”

“I don’t have your number.”

Xiao Zhan winked. “You will.”

And just like that, he was gone. The door jingled closed behind him. The warmth left in his absence felt stupidly real.

Yibo sat there for a long time, watching the rain drizzle down the window. His coffee had gone cold. His code still wasn’t working. His life, as far as he could tell, had just changed forever.

He looked down at the words on his forearm.

"You’re not as tall as I imagined. But you’re cuter, so I’ll allow it."

And, for the first time in years, he smiled.

 

The first thing Wang Yibo did after Xiao Zhan left the café was finish his cold coffee in one go, out of spite.

The second thing he did was open a blank note on his phone and type the words:
“You will.”

He stared at it for a full minute, then deleted it.

Then typed it again.

It was stupid. It was just two words. Just a vague, flirtatious prediction from a man who’d sat down without permission, smiled too brightly, and somehow managed to fit perfectly into the space Yibo hadn’t even known he’d left open.

Soulmate.

The word felt heavy now, like it had shifted from theoretical to real in a single afternoon. He didn’t like that. He liked control. Predictability. The idea of being assigned someone, by fate or stars or whatever divine matchmaking algorithm was running the universe, made him feel itchy under the skin.

And yet…

That smile. That laugh. The way Xiao Zhan had said his name like it tasted like something sweet.

Yibo rubbed his temple and groaned under his breath.

“Stupid. So stupid.”

But the corner of his mouth betrayed him again. A little twitch upward. A reluctant warmth blooming behind his ribs.

---

That night, Yibo couldn’t sleep.

He lay in bed, staring at the ceiling. His cat — Liuliu — was curled up on his chest like a weighted blanket with a purr engine. The room was dark, quiet. The kind of quiet that made you listen to your own thoughts too clearly.

He rolled up his sleeve. Just to check.

Still there.

"You’re not as tall as I imagined. But you’re cuter, so I’ll allow it."

Now it had a voice. A face. A real person attached to it, expressive eyes, an annoying amount of charm, soft-looking lips that talked way too much.

Yibo ran his thumb across the letters and whispered, “You’re absurd.”

Liuliu meowed like she agreed.

---

The next morning, he told himself to forget it.

There were better things to do than obsess over one encounter. His code finally compiled. His gym playlist had new tracks. He found a boba shop that did oat milk now. The world hadn’t stopped just because someone named Xiao Zhan thought he was cute.

But.

Every time his phone buzzed, he hoped it was him.
Which made no sense, because Yibo didn’t even have his number

Until 3:16 p.m., when a message from an unknown number appeared.

unknown:
Do you believe in fate yet or should I come back and sit on your table again until you do?

Yibo stared at it for a full two minutes. Then typed back:

yibo:
you didn’t sit on my table.
you hijacked it.

zhan:
semantics. you didn’t stop me.

yibo:
I thought you were a hallucination

zhan:
hot hallucination though, right?

yibo:
No comment

zhan:
so you do miss me

yibo:
I didn’t say that

zhan:
okay then. i’ll be at that same café tomorrow at 3. if you show up, i’ll know the universe won.
if not, i’ll assume your soulmate mark is defective and report you to destiny HR.

yibo:
that’s not a real thing

zhan:
not with that attitude

---

Yibo stared at the screen long after the conversation ended.

He told himself he wasn’t going to show up. That he had better things to do. He even scheduled a fake calendar reminder titled "definitely NOT thinking about soulmate nonsense."

But the next day, at 2:57 p.m., he was already outside the café.

Hands in his jacket pockets. Hood up. Looking like a man avoiding paparazzi. Or commitment. Or both.

He stepped inside.

Xiao Zhan was already there, same table, sipping from a ridiculous iced latte with whipped cream and tiny heart sprinkles. He looked up.

Grinned like sunshine had been invented just for this moment.

“You came,” he said.

Yibo shrugged, pulling down his hood. “Free country.”

Xiao Zhan stood, slow and deliberate, and walked around the table. He stopped right in front of Yibo, close enough that their arms brushed. His gaze was gentle. Unflinching.

“I’m glad you did,” he said, quiet now. No teasing. Just sincerity.

Yibo stared at him for a second longer than he meant to.

Then muttered, “You’re still absurd.”

“Yeah,” Xiao Zhan said, voice lighter again. “But apparently, I’m your absurd.”

And somehow, Wang Yibo couldn’t argue with that.

Not when the words were still on his skin.
Not when the ache of them finally eased.

---

The plan was “casual dinner.”

The reality was, Xiao Zhan standing in his small kitchen, barefoot, sleeves rolled, quietly humming while chopping scallions with the kind of ease that suggested this was not his first dance with a wok.

Wang Yibo had expected chaos. He’d prepared for it. Mentally braced for the smoke alarm, a destroyed stovetop, maybe even food poisoning and a dramatic hospital visit where Xiao Zhan flirted with the nurse.

Instead, what he got was the smell of garlic, ginger, and something warm and sesame-slick sizzling in the pan.

He stood awkwardly at the kitchen entrance, holding a six-pack of cola and one eyebrow halfway raised.

Xiao Zhan looked up and grinned. “You came.”

“I was promised dinner. I didn’t expect it to smell like… an actual restaurant.”

“Oh?” Xiao Zhan arched a brow. “You thought I’d burn everything?”

Yibo didn’t answer. Just stepped inside and placed the cola on the counter. “You just seem like the type who owns an oven but stores shoes in it.”

“Please. I’m a functioning adult. I store extra pans in it.”

“…Huh.”

---

Dinner was served twenty minutes later.

Fried rice with lap cheong sausage and eggs done perfectly. Stir-fried bok choy with garlic. Some kind of silky tofu with scallions and soy sauce. Yibo stared at it for longer than he meant to.

“This is suspicious,” he said, sitting down. “No one is this pretty and knows how to cook.”

Xiao Zhan beamed at him from across the small table. “And yet, here I am. Living proof that the universe sometimes gets it right.”

Yibo grunted and picked up his chopsticks. Took a bite. Paused. Chewed. Swallowed. Then stared directly at Xiao Zhan.

“This is annoyingly good.”

“I accept your apology.”

“I didn’t apologize.”

“You implied it. In soulmate language.”

Yibo rolled his eyes and reached for more rice.

Xiao Zhan was pleased to see him eat. Not because he needed the validation, okay, maybe a little, but because it was Yibo. Stoic, skeptical, hard-to-read Wang Yibo, who kept coming back like the pull of gravity.

 

After dinner, they migrated to the couch.

Xiao Zhan made tea. Yibo refused politely, then took a sip anyway when it was handed to him. There was a documentary playing about animal migration, but neither of them was watching it.

Yibo had pulled a blanket over both of their laps without really thinking. Xiao Zhan, warm and quiet for once, rested his head on Yibo’s shoulder. His hair smelled like citrus and his breath evened out, slow and soft.

They didn’t talk. Didn’t need to.

Every now and then, Yibo would glance down and see Xiao Zhan’s hand resting near his own, fingers twitching slightly like he was dreaming something gentle.

Yibo stared at their hands. Then, with more hesitation than he liked to admit, turned his palm up.

Xiao Zhan’s fingers curled into his. Just like that.

And Yibo felt something in his chest unclench for the first time in months.

 

When Yibo got home, he didn’t bother turning on the main light. He dropped his keys. Took off his shoes. Sat on the edge of his bed and rolled up his sleeve.

"You’re not as tall as I imagined. But you’re cuter, so I’ll allow it."

He looked at it, then, very slowly, grabbed a pen.

Beneath the printed line, in small, straight lettering, he wrote,

“You also make a damn good tofu.”

And when he lay down, his cat curled against his side and his phone lit up with a new message from Xiao Zhan

zhan:
did you dream about me yet? be honest.

He smiled, just a little, and typed back:

yibo:
you were feeding me tofu in a dream. not sure if that’s romantic or psychological warfare.

zhan:
That’s love, babe.

yibo:
…okay.

---

In their next date, it wasn’t supposed to be a sleepover.

Really, it wasn’t.

It was supposed to be dinner. Maybe a movie. Some light flirting and then goodbye at the door with promises of texting tomorrow and the faint ache of wanting more.

But Yibo had lingered.

Longer than usual. Long enough that Xiao Zhan found himself standing at the sink, hands still damp from dishes, turning over the question in his head like a coin he didn’t want to spend.

“You can stay, you know.”

He hadn’t meant to say it out loud. But the moment the words left his mouth, he knew they weren’t wrong.

Yibo, who had been leaning against the kitchen wall like a painting that got lost and forgot where it was meant to hang, tilted his head slightly. His eyes flicked up, unreadable as always.

“You sure?”

Xiao Zhan nodded once. “Yeah.”

Yibo didn’t smile. He just moved, quiet and deliberate, walking past him into the living room like the decision was already made.

Like Xiao Zhan had opened a door and he’d just walked through it.

---

Now it was 11:43 p.m.

Xiao Zhan’s apartment smelled faintly of jasmine tea and detergent. The lights were low. They were both in sweatpants and old t-shirts. The air between them felt looser, softer somehow. Comfortable.

But charged,

Yibo was sitting on the couch, one leg folded under him, absently scrolling through his phone. He looked very at home. Xiao Zhan stared at him from the kitchen doorway and felt his brain short-circuit for a second.

How was he already this attached?

How did this man make his entire apartment feel different just by being in it?

“I’ll get you a toothbrush,” he said, before his thoughts got too noisy.

“Okay.”

Xiao Zhan padded barefoot into the bathroom, grabbed a new toothbrush from under the sink, and paused. Looked at himself in the mirror. Hair messy. Collar too wide. Eyes too bright.

Breathe.

He returned to find Yibo now standing, arms crossed, scanning the row of books on the shelf like he might memorize their spines out of boredom.

“You have three copies of Pride and Prejudice,” Yibo noted, not even turning around.

“I like love stories where people pretend they hate each other.”

“Explains a lot.”

Xiao Zhan rolled his eyes, tossed him the toothbrush. Yibo caught it with one hand.

“I’ll shower in the morning,” he said simply, as if this were his apartment too, as if they did this all the time.

Xiao Zhan didn’t argue. He didn’t want to.

---

The bed was a little too small for two people who weren’t technically dating.

Xiao Zhan offered to sleep on the couch.

Yibo said nothing. Just walked into the bedroom first, sat on the edge of the bed, and pulled the blanket back like the matter was settled.

So it was.

Xiao Zhan climbed in on the other side.

He wasn’t sure what to do with his hands. Or his face. The room was dark, but Yibo’s presence filled it up like weight and warmth. There was no touching, not at first. Just breath. Just closeness.

Minutes passed.

Then a shift.

Xiao Zhan felt a hand brush his wrist, firm and gentle. Yibo’s fingers found his, threaded through, not tentative, but sure.

It was Xiao Zhan who turned toward him.

But it was Yibo who tugged him closer.

Not a word was spoken. Xiao Zhan tucked himself under Yibo’s arm, head resting just beneath his collarbone. He could feel the steady rhythm of Yibo’s heart against his ear.

“You’re warm,” he whispered.

“You’re twitchy,” came the soft reply.

“I’m nervous.”

“I know.”

Xiao Zhan hesitated. Then, voice even smaller:

“Do I talk too much?”

Yibo hummed, low and thoughtful. His hand slid to the back of Xiao Zhan’s neck, thumb brushing lightly over the skin there.

“No,” he said, and his voice was quieter now. “You say what I don’t know how to.”

Xiao Zhan almost stopped breathing.

“That’s…” He swallowed. “That’s probably the nicest thing anyone’s ever said to me.”

“I wasn’t trying to be nice.”

He snorted, buried his face in Yibo’s chest. “You never are.”

And yet, he’d never felt safer.

---

Xiao Zhan wasn’t sure when he fell asleep.

But he woke once in the middle of the night to the feeling of Yibo’s arm still around him, strong and easy, like he belonged there.

He looked up.

Yibo’s face was relaxed in sleep. His lashes were long. His lips slightly parted. He looked younger like this. Real. Touchable.

Xiao Zhan’s chest ached.

Not with panic. Not with fear. But something heavier. Something sweet.

He closed his eyes again. Nestled closer. Let himself be held.

---

Xiao Zhan woke up to warmth.

Specifically, very tall, very steady, very real Wang Yibo warmth.

At some point in the night, their limbs had rearranged into a configuration that Xiao Zhan could only describe as “entangled.” One of Yibo’s arms was beneath him, the other slung low across his hips. Their legs were pressed together, slow heat spreading through the sheets.

Also, Yibo was snoring. Just a little. Barely there. But enough to make it impossible to ignore that he was, in fact, still here.

Xiao Zhan’s heart thudded softly behind his ribs.

Soulmate. That word still felt like a spark under his tongue.

He turned his head just enough to look up. Yibo’s face was relaxed, mouth slightly open, hair a mess against the pillow. He looked… comfortable.

Xiao Zhan hadn’t known he could make someone like Yibo look like that.

The clock said 7:46 a.m.

Way too early to be sentimental.

And yet here he was, awake, grinning into the pillow like a fool, completely smitten with a man who had said maybe twelve words yesterday and still managed to make Xiao Zhan feel like his entire existence was understood.

---

He stayed there for a while.

Just… listening. To the rhythm of Yibo’s breath. To the beat of his own heart, which kept speeding up every time Yibo shifted even a little.

It wasn’t until Xiao Zhan tried to move (to escape, really, this was becoming far too intense for a sleepy morning) that the arm around his waist tightened.

Xiao Zhan froze.

Yibo’s voice, gravelly and half-conscious, murmured into the back of his neck, “Where are you going?”

Xiao Zhan blinked. “To brush my teeth?”

“No.”

“…No?”

“Too early.”

“Yibo, it’s almost eight—”

“Still too early.”

The arm pulled him closer. Xiao Zhan gave a helpless little laugh, letting himself be dragged backward like a weighted blanket had taken human form and decided it was clingy.

“Are you always like this in the morning?”

Yibo mumbled something unintelligible. Possibly a threat. Possibly a marriage proposal. Hard to say.

Xiao Zhan sighed, relaxing back into the heat of him.

“You’re absurd.”

“You like it.”

Unfortunately, he did.

 

Eventually, Yibo let him go.

“Not because I want to,” he clarified. “Only because hygiene matters.”

Xiao Zhan shuffled into the bathroom first, ran cold water over his face, stared at his own reflection. He looked flushed. Sleepy. Ridiculously happy.

And, if he were honest, a little dazed.

Wang Yibo, was brushing his teeth behind him with quiet efficiency. Shirt slightly wrinkled. Hair a mess. Still taking up space in his bathroom like he belonged.

Xiao Zhan leaned against the sink and watched.

“You know,” he said slowly, toothbrush in hand, “you’re weirdly competent at this domestic thing.”

Yibo shrugged. “I do it every day.”

“Not here, you don’t.”

“I might.”

Xiao Zhan blinked. “…What?”

Yibo didn’t answer. Just met his eyes in the mirror and handed him the toothpaste.

 

Breakfast was simple.

Yibo sat at the table reading something on his phone while Xiao Zhan scrambled eggs and toasted bread. Every so often, he’d look up like he wanted to say something, then didn’t.

Xiao Zhan handed him a plate.

“Say it,” he said, sliding into the seat across from him.

Yibo looked at him. Quiet. Then—

“This is nice.”

Xiao Zhan stilled.

“‘Nice’ as in, like, good-eggs nice? Or…”

“Nice as in, I don’t want to leave.”

Xiao Zhan’s heart pulled in his chest. He smiled, a little crooked, trying not to show how much that wrecked him.

“Then don’t.”

They ate in silence after that.

A comfortable silence.

The kind that could stretch into days.

---

 

When Yibo finally left, hoodie back on, cat hair clinging to his sleeves, leftover toast in hand, Xiao Zhan stood at the door and watched him go.

It should’ve felt casual. It should’ve felt like a maybe.

But it didn’t.

It felt like a beginning.

Xiao Zhan closed the door behind him, leaned against it, and whispered to no one,

“Yeah. This is going to ruin me.”

And he smiled anyway.