Actions

Work Header

Built on Ruins

Summary:

Three years ago, Orm Kornnaphat was just an awkward first-year engineering student when she matched with a mysterious, older woman on a dating app. Lingling was confident, flirty, and entirely unforgettable—the kind of woman who made Orm believe in love through a screen. They talked every day. Until, one day, she disappeared without a word.

Now a graduating civil engineer, Orm finally lands her dream internship at one of the country’s top firms—only to discover that the head engineer she's assigned to work under is her. Lingling Kwong: older, colder, and still just as devastating.

They were supposed to be a fling-that-never-was.
Now they’re stuck working late, pretending the past didn’t feel like love—and that desire doesn’t burn hotter than ever.

Turns out the ruins weren’t abandoned.
Just waiting to be rebuilt.
And Ling still has one more secret Orm never saw coming.

Chapter 1: Built on Ruins

Notes:

Hi there,

This little fic has been sitting in my drafts for way too long. I kept second-guessing myself—should I post it? Should I just let it stay tucked away?
In the end, I reminded myself of something simple: sometimes, you write the stories you wish existed. And that’s reason enough to share.

Before you jump in, though, I want to set a few things straight—gently, but clearly:

If intersex narratives (or G!P content) are not something you’re comfortable with, that’s perfectly okay. Please don’t feel obligated to engage with this work.
There are countless other stories that might suit your preferences better, and I encourage you to seek those out instead. It costs nothing to simply scroll past.

Additionally, I’d like to address a question I’ve seen arise in similar spaces:
"Why write G!P or intersex stories when the real people you’re referencing are both women?"

It’s a fair question, but one that reveals a misunderstanding of creative writing itself.
Fiction is, by its nature, imaginative. These are not real people in this story, despite the familiar names. These are fictionalized characters in a fictional world, operating within invented dynamics. To be clear: I am not attempting to erase, change, or reinterpret anyone’s real-life identity.

To put it simply: I write Lingling here as I imagined her for this particular story—as a woman, who happens to have a big cock. That’s it. This narrative choice isn’t a philosophical argument. It’s not a hidden agenda. It’s simply the story I wanted to explore.

As Toni Morrison once said,
“If there’s a book that you want to read, but it hasn’t been written yet, then you must write it.”

That’s why I’m writing this fic. It’s the story I wanted to read. And maybe it’ll be a story someone else needed, too.

If you’re curious about this genre—read it. If it resonates, great. If it doesn’t, that’s okay too. Your reaction itself is your answer.
Some people enjoy this kind of content, others don’t. Both are valid.

Now, as for the story itself:

I know G!P stories often carry a certain expectation—mostly explicit content (and that’s totally fair; we’ve all been there).
But in this case, I chose a quieter approach: a romance that centers emotional intimacy alongside physical connection. I wanted to show that even this niche trope can carry tenderness and real heart, if given the space.

After finishing works like Kneel for Me, Princess and Heatwave on Main Street, I wasn’t sure I’d return to writing something in this vein. For a time, I even considered releasing this under my main account. But anonymity can be liberating. Sometimes, letting the work speak for itself—without name or expectation attached—feels more honest.

On a personal note: parts of this story were inspired by two of my closest friends (both engineers, now married). Their mix of chaos and tenderness inspired the emotional tone of this story—though everything else is purely fictional. And yes, if you’re wondering, I’m definitely the Kang here. The eternal third wheel. Lol.

Regarding representation: Lingling is portrayed as intersex in this narrative. I’ve taken care to research and approach this respectfully, though I fully acknowledge that research is not a substitute for lived experience. If there are ways I can improve, I welcome thoughtful, constructive feedback. Representation is a process of listening as much as writing.

Finally, and I can’t stress this enough: this is fiction. While I’m using familiar names, the characters and dynamics in this story are entirely imagined. Please respect that boundary. Fanfiction and reality are separate spaces for good reason.

Thank you for understanding—and for being here. I hope, in some way, this story finds whoever it’s meant to find.

(See the end of the chapter for more notes.)

Chapter Text


 

Orm Kornnaphat didn’t like people.

She didn’t hate them, exactly. But crowds made her skin itch, small talk gave her migraines, and parties—loud, sweaty, desperate for attention—were hell in dim lighting.

She preferred the quiet hum of her laptop, her earphones snug and blasting R&B playlist as she buried herself in her latest CAD project.

People drained her.
Structures? They made sense.

 

So it was only fitting that her first week of university began with her best friend Kang flinging herself across the dorm bed with dramatic flair, holding her phone like a revelation from the gods.

“You’re joining a dating app,” she announced.

 

Orm, curled up on her side atop a twin XL bed that still smelled faintly of industrial detergent, halfway through her third granola bar of the day, blinked.

“I’m what?”

 

Kang grinned. “You heard me. You’re going to meet people. Socialize. Learn how to flirt, text back, maybe even go on a date.”

 

Orm stared at her, unimpressed. “I came to university to build bridges. Not... relationships.”

 

“You build bridges. I build your personality.” Kang wiggled her eyebrows. “Come on. You’ve got that whole shy, mysterious STEM girl thing going for you. People love that.”

 

Orm shoved a pillow at her face. “I’d rather die.”

 

“Oh, stop. It’s just practice! You said yourself you wanted to work on communication.”

 

“I meant professional communication,” Orm muttered, biting into the granola bar like it had personally wronged her. “Emails. Site reports. You know—normal engineering stuff. Not sexting with strangers.”

 

Kang tossed the pillow aside and flopped beside her.

“No one said anything about sexting—though that’s totally an option. Look. I downloaded this one for you already. See?”

She held up her phone.

The app had a clean interface, modern fonts, and a name Orm didn’t recognize. Definitely one of those niche dating platforms with supposedly “better” matches and less chaos.

 

“I’m deleting that,” Orm said flatly.

 

Kang laughed. “You won’t. Because I bet you can’t go one week without talking to someone cute.”

 

Orm raised an eyebrow. “I bet I can.”

 

“Oh?” Kang leaned in, grin turning shark-like. “Okay, then. Let’s make it interesting.”

 

Orm immediately regretted her mouth.

Kang set the terms: “Seven days. Minimum one convo a day. Doesn’t have to be flirty. Just talk. If you manage it, I’ll do your laundry for the rest of the semester.”

 

That got her attention.

“And if I lose?” Orm asked warily.

 

“You do my math assignments. All of them.”

 

Orm groaned. “You fail basic algebra.”

 

“Exactly. So you better flirt your way to victory, babe.”

 

 

That night, while Kang made popcorn and watched reruns of Thai dramas with too much eyeliner and too many love triangles, Orm sat at her desk, back straight and nerves on fire.

The dating app sat open on her phone, sterile and unfamiliar.

She uploaded the least offensive photo she had: her in a white button-down, sleeves rolled up, wind messing with her hair as she stood near a site model at her high school expo. She didn’t smile—she rarely did in photos—but her eyes were steady, focused.

She wrote a bio.

“Engineering student. I like silence, thunderstorms, and math. Not great at small talk.”

It felt raw, but at least it was honest.

 

Then she started swiping.

Left. Left. Left.

A man holding a fish. Left.

A girl with five filters and a cigarette. Left.

A woman who looked twenty-nine and wore sunglasses in every photo. Swipe—

Right.

 

She froze.

It was a reflex, really. An accident. Her thumb twitched, mid-scroll.

She checked the profile:

LLK.
Age: 26

“I like coffee, bare concrete walls, clean lines, and women who can hold a conversation. Build something with me.”

 

Orm stared at it. Then at the photo: elegant, sharp cheekbones, collarbones in a deep v-cut black blouse, but no full face visible—just lips, chin, and a bit of neck.

Stylish. Mysterious.

Completely out of her league.

 

“Oh god,” Orm whispered. “That was a mistake.”

But then the screen blinked.

You’ve matched with LLK.

 

A message popped up a few seconds later.

LLK.:
Hey. You look like you calculate structural loads for fun.
That’s hot

 

Orm stared at the screen.

Then she threw her phone across the bed like it had burned her.

“Oh my god,” she groaned, flopping face-first into the blanket.

 

Kang’s head peeked up over her pillow fort. “Everything okay?”

 

“No.”

 

“Did someone send you a d—?”

 

“No.”

 

Kang smirked. “Then what?”

 

Orm mumbled into the mattress, “I matched with someone. And she messaged first.”

 

Kang bolted upright like it was breaking news. “Wait—show me!

 

“No.”

 

“Come on, Orm. What did she say?”

 

Orm rolled over dramatically. “She said I looked like I calculate structural loads for fun.”

 

Kang blinked. “...well, she’s not wrong.”

 

Orm covered her face. “That’s the nerdiest pick-up line I’ve ever heard.”

 

“And the most accurate. So? What are you going to say back?”

 

“I don’t know.” Orm sat up, suddenly far too alert. “What do I say to someone like that? She’s twenty-five. She probably drinks black coffee and listens to jazz and owns actual blazers.”

 

Kang shrugged. “Just say hi.”

 

“‘Hi’ is for kindergarten. I need something smarter.”

 

“You don’t need to write a thesis, Orm. It’s a dating app.”

 

But Orm was already typing in her notes app, trying out ten different openers:

  • Thanks. I do.
  • Are you into structural engineers, or is that just a line?
  • You look like you ghost girls for fun.
  • What’s your favorite steel type?

She deleted them all.

Instead, she opened the app again. The message was still there, waiting.
The three dots beneath it blinked as if daring her to reply.

Finally, she typed,

Orm:
Only for the right foundation.

 

She stared at it for another minute. Then hit send.

A second later, a reply came back.

 

LLK.:
Oh?
Then I guess we’re both in the business of building something solid

 

Orm exhaled. Slowly. Her cheeks were red and she hated that Kang noticed.

“You’re blushing,” Kang said smugly.

 

“No, I’m not.”

 

“You’re so blushing. What did she say?”

 

Orm grabbed her phone and held it to her chest like a secret.

“She said,” she muttered, “we’re both in the business of building something solid.”

 

Kang let out a low whistle. “Damn. She’s got game.”

 

 

Orm didn’t text back immediately.

Even after that second message, even after Kang spent the entire night whisper-screaming into her pillow about “the lesbian gods blessing your introvert ass,” Orm just... waited.

She didn’t know what she was waiting for, really.

A sign?
Courage?
Permission?

Orm was used to equations, to right and wrong answers.

Messaging LLK felt like stepping into a math problem with no variables defined—just vague symbols and the faint promise of gravity.

 

 

And yet... the next morning, as she sat alone in the chilly engineering lounge, hunched over a dented table scarred with initials and coffee rings, her paper cup slowly going lukewarm, she found herself opening the app again.

The chat blinked back at her:

Then I guess we’re both in the business of building something solid

 

Underneath it:
Active now.

Shit.

Orm’s heart did this annoying little flutter that she immediately tried to kill with caffeine. She reread their short exchange three times before typing.

 

Orm:
So, what exactly do build?

The reply came thirty seconds later.

LLK:
Depends
Sometimes homes

sometimes habits

sometimes regrets

LLK is typing...

 

Orm stared at the screen.

There was something cool and lyrical about it—like LLK. spoke in quotes, not words. She didn’t know if that was hot or intimidating. Probably both.

Orm:
That’s dramatic

LLK:
I’m older. I’m allowed to be a little dramatic

You’re what—18?

Orm:
Just turned 19

LLK:

Ahhhh

baby engineer

What’s your specialty?

Concrete? Steel?

or pretty girls who ghost you after three messages?

Orm:
I don’t know

I’ve never gotten past three messages

LLK:
Lucky me then

 

Orm choked on her coffee and stared at her phone, horrified.
No Kang around to stop the spiral. She typed, deleted, typed again.

Finally:

Orm:
You flirt like someone who gets away with it

LLK:
I do

Most of the time

But you’re different.

 

Orm’s brain short-circuited. Her hands trembled as she tried to stay cool.

A minute passed. Then another.

Then a new message came in:

LLK.:
Too much? Sorry
I can turn it down

 

Orm frowned.

Was that—concern?

Orm:
No

Just... processing

I’m not used to this.

LLK.:
This being...?

Orm:
Someone actually making an effort.

 

There was a long pause.

Orm watched the “typing...” bubble appear, disappear, reappear.

LLK is typing...

Then finally:

LLK.:
I’m not here to waste time
Not mine or yours

 

And for some reason, that made something ache in Orm’s chest.

She hadn’t realized until now how many conversations she’d half-started with people who replied like they were bored, like she was background noise. LLK wasn’t like that.

Even through a screen, she felt like... attention.

Orm:
Then don’t stop.

LLK.:
Good girl.

Orm dropped her phone.
Picked it up. Face on fire.

Orm:
You can’t just say that

LLK.:
Why not?

You liked it.

 

She was going to die.

She was going to die of lesbian cardiac arrest and Kang would probably turn it into a meme.

Orm:
No. You’re just relentless.

LLK.:
Whatttt? I’m consistent!

Anyway

You free tonight?

 

Orm blinked.

Orm:
Why?

LLK.:
I’m off work early
Thought we could voice chat. Unless you prefer mystery

 

Voice.

As in... real voice. No hiding behind text. No time to calculate the perfect response.

Panic bloomed in Orm’s chest.

Then curiosity.
Then panic again.

 

Orm:
Okay

Maybe.

LLK.:
You say maybe like it’s not already a yes.

Don’t worry. I’ll go easy on you, baby engineer😌

 

That night, at exactly 8:01 p.m., her phone buzzed.

Incoming call from LLK.

No video. Just voice.

 

Orm stared at the screen for five full seconds.

Then she answered.

“Hello?” she said, voice barely above a whisper.

 

And then—

“Hi,” came the reply. Low. Smooth. A little amused. Like a secret smile wrapped in velvet.

“You sound exactly like I thought you would,” LLK said. “Sharp. And a little shy.”

 

Orm swallowed.

“Is that bad?”

 

“No,” Lingling replied softly. “That’s exactly my type.”

 


 

The first voice call lasted twelve minutes.

Orm had spent half of it hiding under her blanket, trying not to sound like someone whose heart was trying to escape her ribcage.

LLK was calm, confident, her voice laced with casual flirtation and something slower underneath—patience, maybe. Or amusement.

Or both.

She’d asked about school. About why Orm chose engineering.

And Orm, fumbling a little but stubbornly honest, said:

“I like solving things. Structures are simple. They hold or they don’t.”

LLK had hummed at that.

“Wish people were that simple.”

 

Orm didn’t know what to say to that, so she said nothing at all.

 

And then, just before they hung up, had added:

“You sound better when you’re nervous.”

 

Which, obviously, sent Orm into a three-hour spiral of overanalyzing her own breathing patterns.

She thought maybe that would be it. Just a one-time novelty.

One call, one compliment, one little moment to add to her private collection of Things That Made Me Feel Things and Then Left.

 

But then... the next night, 11:12 p.m.

Her phone buzzed.

LLK.:
Hey, wanna talk again?
I’m off the clock.

 

Orm had stared at the screen, heart doing that thing again.

Orm:
Sure. Give me 5 min.

She brushed her teeth like it mattered. Changed into a nicer shirt even though it was just her voice. Closed the door to their dorm room while Kang muttered something about “love-sick lesbians” from under her blanket.

And from there... it became a rhythm.

 

 

By the end of the second week, they had spoken seven times.

Always after dark. Always after LLK’s work hours and Orm’s classes.

Orm would sit on her bed, lights off, computer closed, legs curled beneath her as she listened to that low voice on the other end of the line.

They never turned on video.
They never really brought it up.

But Orm didn’t need to see her.
She could feel her.

Lingling laughed with a kind of quiet confidence that made Orm want to say stupid things just to hear it again. She told stories like someone who had seen too much and still found a way to be amused by the world. She asked questions that were never lazy—questions that made Orm talk about things she never said out loud.

“What do you want to build someday?”

“How do you feel when it rains?”

“What scared you when you were little?”

 

And Orm, who hated talking and hated being known, found herself answering.

“A home. Not just a house. Something people feel safe in.”

“Calm. Like the world’s quiet for a while.”

“Being forgotten.”

 

That one had surprised her.

She hadn’t meant to say it.

But Lingling had just gone quiet for a second. Then said, softly,

“Me too.”

That night, they talked until 3:47 a.m.

 

 

By that point, Kang had stopped teasing. Mostly because she was starting to realize she’d made a terrible mistake.

“Okay, but—who the hell is this woman?” she asked one afternoon, watching Orm carefully fold her laundry with an actual smile. “I thought you were gonna awkward your way through a few dry chats and bail by day three.”

 

Orm shrugged innocently. “Seven days. Minimum one convo a day. I’ve passed that with extra credit.”

 

“I didn’t think you’d find someone who could... decode you.”

 

Orm shot her a look over a folded hoodie. “Decode me?”

 

“You know what I mean.” Kang waved vaguely. “You’re all... guarded and mathy and emotionally allergic. And now you’re doing chores with jazz music playing.”

 

“Should I be concerned you noticed the playlist?”

 

“I should be concerned I’m about to spend the rest of the semester as your laundry slave.”

 

Orm didn’t even try to hide her smugness. “I like my sheets done on Saturdays. Delicate cycle. Use the lavender softener.”

 

“God, I hate you.”

 

“You built this bridge. Now you have to sleep on it.”

 

 

 

By the third week, it wasn’t just calls.
It was messages throughout the day.

LLK.:
Lunch break

Tell me something nerdy🤓

Orm:
Did you know some bridges expand and contract depending on the temperature?

LLK.:
So they’re moody, dramatic, and affected by the weather

We’ve got a lot in common hahaha

Orm smiled at her phone in the middle of her strength of materials lecture.

She was doomed.

 

 

She still didn’t know what Lingling looked like. Not really.

There were photos on her profile—cropped, curated, faceless angles. A hand holding coffee over blueprints. Her silhouette against a city skyline. Lips. A neck. A collarbone. Long fingers with neat nails and ink smudges on the side.

And Orm imagined the rest, cautiously.

LLK never sent selfies. Never asked for any, either. It wasn’t weird—if anything, it made the connection feel less performative. More focused. Like the bond was being built in words and timing and the spaces between.

 

Still, some nights, Orm caught herself wondering.

What color were her eyes?

What did she look like when she laughed?

Would her voice feel the same in person? Or would it hit harder?

She didn’t ask.
She wasn’t brave enough for that yet.

 

 

But she was falling.

Slowly. Stupidly. Without meaning to.

She started noticing things.

Like how her phone brightness stayed low at night to avoid waking Kang, but LLK’s name still lit up her screen like a spotlight.

How she knew her voice better than her own sometimes.

How certain words made her feel warm. Like baby engineer. Like good girl. Like you’re easy to talk to, even when you’re quiet.

No one had ever said things like that to her before.

And Orm... she wasn’t sure what to do with it.

 

 

One night, after a long call that bled past 2 a.m., they were quiet.

The kind of quiet that didn’t need to be filled. Orm was lying flat on her back, phone resting on her chest, earphones in. The AC hummed. Her roommate was asleep.

 

“Still awake?” Lingling murmured, her voice low and warm.

“Barely.”

“You always sound so calm.”

“I’m not,” Orm said. And for some reason, that felt like a confession.

 

Lingling chuckled, gentle. “That’s okay. I can carry the calm for both of us.”

 

Orm closed her eyes.

“Why are you like this?” she asked, quietly.

 

“Like what?”

 

“Charming. Dangerous.”

 

Lingling didn’t answer immediately. Then:

“You make it sound like I’m a warning label.”

 

Orm smiled faintly. “Maybe you are.”

 

“Would you still touch me if I had one?”

 

The question made her heart thud. Hard. Stupid.

“I already am,” Orm whispered, before she could stop herself.

 

There was a pause.

Then a soft inhale, like Lingling had actually felt it.

“Careful, baby engineer,” she said, and her voice was softer now.
“You say things like that and I might start falling.”

 

Orm said nothing.

But her silence said everything.

 


 

It started with names.

After weeks of calls and messages, the app suddenly prompted her one evening with a soft little banner:

Would you like to exchange real names?

Orm didn’t hesitate.

Orm:
My name’s Orm Full is Orm Kornnaphat. But just Orm’s fine.

 

There was a beat of silence.

And then, finally:

LLK.:
Lingling. Kwong.
but you can call me whatever you want

Orm:
Lingling is already... a lot.

LLK.:
A lot good or a lot intimidating?

Orm:
Yes

LLK.:
Brat

Orm:
You like it.

She could practically hear Lingling’s smirk even through text.

They didn’t need the app anymore after that. It became Telegram.

Then iMessage. Then real calls.

Night after night. Long after the world around them shut down.

And somehow, the name made things quieter between them—closer.

 

 

One evening, Orm called first.

Lingling answered on the third ring, her voice still low and a little raspy, like she’d just woken up from a nap.

“That’s new,” Lingling murmured. “Didn’t expect you to initiate.”

 

“I was thinking about you,” Orm said, voice soft. “Made it worse.”

 

Lingling chuckled. “You’re trouble.”

 

“You keep saying that. But you never hang up.”

 

“Guess I like trouble. Especially when she sounds like this.”

 

Orm tugged her blanket higher. “Like what?”

 

“Like you’re too tired to lie.”

 

She wasn’t wrong.

It was past midnight. Her brain was mush from concrete theory. She’d fallen asleep twice over her notes and only woke up because she dreamed of Lingling whispering something she couldn’t remember.

“Ling,” she said, quietly, and heard the sharp little inhale on the other end of the line.

 

“Yeah?”

 

“Why don’t you ever ask what I look like?”

 

A pause.

A breath.

 

“Because I already know.”

 

“How?”

 

“The way you talk,” Lingling said. “The way you hesitate. The way your voice dips when you’re shy but stays steady when you’re serious. You’re tall. Not physically—emotionally. Like someone trying not to take up space but still being seen anyway.”

 

Orm blinked, stunned silent.

Then she laughed—quiet, hoarse. “You’re ridiculous.”

 

“I’m observant.”

 

“Still ridiculous.”

 

“And you’re beautiful.”

 

Orm didn’t reply to that. But her cheeks burned, and her fingers curled tightly into her blanket, and she let the quiet stretch because silence with Lingling wasn’t awkward—it was full.

 

“Do you want to know what I look like?” Lingling asked, softer now.

 

Orm swallowed. “You don’t have to tell me.”

“But do you want to?”

 

She hesitated.

“...Yeah.”

 

“Alright.”

“I’ve got long black hair, usually tied up when I’m working. Strong arms—hazard of the job. Sharp jaw. I’m tan. I wear all black most days, not because I’m edgy, but because I can’t be bothered to match. I’ve got a mole on my cheek. People tell me my eyes look sad when I’m not smiling. They’re not wrong.”

 

Orm closed her eyes and tried to picture her.

Lingling. In all black. Hair tied up. Sad eyes. Strong arms. A voice like gravity. A mouth that knew too many truths and still spoke gently.

She could feel herself falling. Deeper now.

“Thank you,” she whispered.

 

“What for?”

 

“For letting me see you.”

 

There was a pause again. Then a breath.

Then—

“Orm?”

 

“Yeah?”

 

“What are we doing?”

 

The question wasn’t accusatory.

It wasn’t heavy. It was just... there. Honest. A little scared.

Orm didn’t answer right away.

Because she didn’t know. She didn’t have words for it yet.

All she knew was that her heart beat louder when she saw Lingling’s name light up. That she smiled more now. That the highlight of her day was always the hour between 2 and 3 a.m.

“I don’t know,” she said finally. “But I don’t want it to stop.”

 

“Me neither.”

There was a pause.

Then Lingling’s voice, low and quiet:

“Even if I screw it up one day?”

 

Orm bit the inside of her cheek.

Her instinct was to say you won’t. But she didn’t want to lie.

So instead, she said:

“...If you do, I’ll still remember this part.”

 

That made Lingling go quiet.

Not hurt. Just... soft. The kind of quiet that meant something landed.

“God,” she said finally. “You’re going to wreck me.”

 

Orm didn’t say anything after that.

She didn’t need to.

They just stayed like that.
Breathing.
Listening.
Not saying the thing they were both starting to feel.

Because sometimes, the loudest parts of falling aren’t in the confessions.

They’re in the pauses.

 


 

The cafeteria was too loud for someone who hadn’t emotionally recovered from seeing a living goddess.

Orm didn’t even touch her tray. She just slumped over it, forehead resting dramatically on the cool laminate surface like she was grieving the death of all her remaining dignity.

Kang’s voice, of course, boomed through the chaos like a stadium speaker.

“—Oh my god, Orm, you are so insufferable!

 

Orm groaned and covered her ears.

Tap. Tap. Tap.

Kang poked her back repeatedly, like a kid pressing an elevator button that wouldn’t light up.

“Hello? Earth to Orm? Come on, at least blink if you’re alive.”

 

“Leave me here,” Orm mumbled into the table. “I need to process.”

 

“What happened to that one?” Four asked from across the bench, sipping their milk tea like they were watching a daytime soap.

 

Bon snorted. “Don’t mind her. She’s being dramatic again.”

 

“She’s not being dramatic,” Kang cut in gleefully. “She’s being devastated. Because—drumroll, please—her crush finally sent a video message.”

 

Four raised their eyebrows. “Wait. The crush?”

 

“The one she talks to every night? The mystery voice?” Bon leaned in with a grin.

 

Kang nodded like she was narrating a telenovela. “Yes. The very same. Lingling finally sent a good luck video before Orm’s exam this morning.”

 

“She spoke in it,” Orm muttered, muffled.

 

Four blinked. “And that’s why she’s... like this?”

 

Orm lifted her head just slightly. Her face was pale and dazed, like she had been spiritually removed from her body and then violently returned.

“She’s beautiful,” Orm whispered.

 

A beat.

Then Kang threw her head back and cackled.

“Dude, you’ve been talking to her for months! And now you’re losing it because you saw her face?”

 

“You don’t understand,” Orm hissed. “She’s not just beautiful. She’s like if gravity wore subtle eyeliner.”

 

Bon wheezed. “You’re in too deep.”

 

“Like one of those actresses who never need to try,” Orm continued, clutching her heart. “She just raised an eyebrow in the video and I almost failed calculus.”

 

“You aced calculus,” Four said.

 

“I don’t deserve to have aced it,” Orm groaned.

 

Kang leaned across the table, practically glowing with pride. “She’s gone. Full simp mode. We’ve lost her.”

 

“Okay, wait,” Bon said, blinking. “So what did the video say?”

 

Kang mimicked Lingling’s voice with the most ridiculous deep tone possible. “‘Good luck, Orm. You’re smarter than you think you are. Go build something today.’ And smirked. She smirked like she knew what she was doing.”

 

Orm flopped back on the table, defeated. “She did.”

 

“She always does,” Kang agreed.

 

Four whistled. “And you’re not dating yet?”

 

“She doesn’t even know I like her,” Orm said.

 

The table went dead silent.

Then Bon: “Sweetie. You’re one more voice call away from proposing.”

 

 

That night, Orm stared at her screen for fifteen minutes before hitting call.

This time, it wasn’t just voice.
This time, she’d pressed the tiny video icon.

It rang.

Once.

Twice.

Then it connected.

 

And for the first time, Lingling’s face filled the screen.

She was lying on her couch in what looked like a dark grey hoodie, hair half-tied, loose strands falling over her cheek. No makeup. No angles. Just real.

Her eyes crinkled when she smiled.

 

“Hi,” Lingling said, and Orm nearly dropped her phone.

 

“You’re—” Orm swallowed. “You’re real.”

 

Lingling laughed, soft and almost shy. “You say that like I’ve been a ghost this whole time.”

 

“I’m serious. You look like...” Orm shook her head, heart thudding. “You don’t even look like someone who belongs on an app.”

 

Lingling tilted her head. “That a compliment or a dig?”

 

“It’s—you’re—I’m malfunctioning,” Orm said helplessly.

 

Lingling grinned. “God, you’re cute.”

 

And there it was again.

The slow warmth that spread up Orm’s neck like a fever.

They talked like that for a few minutes—halting, sweet, with Orm finally seeing the little expressions she had imagined so many times: the thoughtful pause before Lingling responded, the slight roll of her eyes when she teased, the slow blink when she listened closely.

It was too much. Too close.

Too easy to imagine more.

 

And just when Orm was about to ask something like What are we doing, really?—Lingling glanced off-camera—then quickly back at Orm, smile faltering for just a split second.

“Shit,” she muttered. “I—I’m sorry. Something came up.”

 

Orm blinked. “Is everything okay?”

 

Lingling gave her a quick, practiced smile. “Yeah. Just—emergency at home. I’ll call you, okay?”

 

“Wait—Ling—”

But the screen was already black.

Call ended.

And just like that, she was gone.

 


 

The first day, Orm built excuses like scaffolding.

Work emergency.
Family issue.
Battery died.

She told herself all the things a reasonable person would believe.
And for a few hours, she even managed to believe them.

She even smiled when she scrolled back to their last message—Lingling’s face mid-laugh, frozen in a video frame she’d replayed at least twelve times.

But she didn’t text.
Didn’t want to come off clingy.
Didn’t want to rush whatever was happening.

She told herself she'd give her space.

 

 

The second day, her phone might as well have been part of her body.

Vibration? She checked.
Notification? She checked.
Battery at 15%? Plugged in, checked again.
Every ping was a jump scare that ended in disappointment.

Lingling stayed silent. The rest of the world didn’t.

 

 

The third day, she texted.

Orm:
Hey
Just checking in on you
I hope everything’s okay.

She stared at the screen after hitting send.
No read receipt.

Nothing.

The rest of the day, she was no longer checking for new messages.
She was rereading the old ones.
Scrolling back through voice notes like they were sacred texts.
Playing the video again. Memorizing the frame where Lingling laughed, hoodie slipping off her shoulder.
Ghosts weren’t just people who vanished—they were people who left evidence.

 

By the fifth day, her body moved on autopilot.

Check phone.
Pocket it again.
Pretend it didn’t matter.
But her stomach still curled tight at 2 a.m., like a phantom limb expecting a call.
Nothing came.
Just the ache of routine.

Her iMessage icon hadn’t blinked once.

Her heart, somehow, kept doing it anyway.

 

Lingling hadn’t disappeared.

Not really.

Her absence was louder than her voice ever was.

 

 

A week passed.

Kang asked if she wanted to talk about it. Orm said no.

Bon tried to cheer her up by dragging her to watch a bad rom-com. She sat through the whole thing without laughing once.

Orm still aced her exam.
Still turned in her project.
Still answered questions in group work.

But her voice was quieter. Like she was speaking from underwater.

 

 

And every night, without fail, she opened their chat.

Her thumb would hesitate over the mic icon.

She wanted to say, I miss you.

She wanted to ask, Are you coming back?

She wanted to scream, Don’t you dare ghost me.

But instead, she whispered, “Goodnight,” into the dark, knowing no one would hear it.

 

 

It took eleven days.

Eleven days without a reply.
Eleven days without a voice note.
Eleven days of wondering if the woman who made her feel so seen had simply vanished.

And on the twelfth day, Orm stopped waiting.

Not because she wanted to.
Because she had to.

 

 

Lingling’s name stayed pinned like scaffolding left on a building no one finished.

The last message hung there too—blue, unread, untouched.

Orm stared at it like an artifact from a life she wasn’t sure had ever been hers.

 

Orm:
Just let me know you’re okay. Please.

Sent

 

It hadn’t even been delivered.

Which meant one of two things.

Either Lingling deleted her app.
Or Lingling deleted her.

Either way... she was gone.

And that, somehow, was worse than a goodbye.

 

 

Kang noticed first.

“Hey,” she said one night, voice gentle as she leaned against their shared dorm desk. “You haven’t said her name in a while.”

 

Orm didn’t look up from her screen.

“Maybe she got busy,” she mumbled.

 

“She was never too busy for you before.”

 

Orm’s jaw clenched. She didn’t reply.

Kang reached forward and gently closed her laptop. “Talk to me.”

 

But Orm just stared at the blank screen, eyes glassy.

“She was real,” she said, and it came out like she needed someone to confirm it.

 

Kang nodded. “I know.”

 

“She sent me a video. We saw each other. She knew my name. She told me to go build something.”

 

Kang didn’t interrupt.

Orm swallowed hard. “She said she liked trouble. I didn’t know she meant disappearing without a trace.”

 

Kang reached across and squeezed her hand.

And for the first time, Orm didn’t pull away.

Kang didn’t say anything right away.

She just sat there, thumb still brushing over Orm’s knuckles like she was afraid to let go of something fragile.

Then, in a voice that was softer than Orm had ever heard from her, she said, “I thought this was just a stupid bet.”

 

Orm didn’t flinch. Just stared at their joined hands like she was seeing them from the outside.

“I didn’t think you’d actually—” Kang stopped. Took a breath. “I didn’t know you could fall for someone you’ve never even... met.”

 

“I met her,” Orm said quietly. “Every night.”

 

Kang’s throat bobbed. Her eyes looked shinier than usual.

“I was joking when I dared you. Thought you’d hate it. Thought you’d match with a few weirdos, roll your eyes, delete the app in a week.”

 

Orm gave a humorless smile. “Me too.”

 

“I didn’t think—” Kang’s voice cracked, and she rubbed the back of her neck. “I didn’t think someone could ghost you and still leave this big of a crater.”

 

“She didn’t ghost me,” Orm whispered.

Kang opened her mouth to argue, but Orm shook her head.

“She haunts me.”

 

That shut them both up.

And when Orm blinked, a single tear slipped free—so quiet and unexpected it stunned them both.

Kang didn’t say “you’ll get over it.”
She didn’t say “she’s not worth it.”
She didn’t say anything.

She just pulled Orm in and let her fall apart against her shoulder.

And for once, Orm let herself.

 

 

Time didn’t stop for heartbreak.

The semester went on. Projects piled up. People moved around her like waves, while Orm stood still in the surf, trying not to drown.

She stopped wearing earphones. She slept earlier. Her friends stopped asking.

And that, somehow, made it real.

 

 

Some reflexes stayed, long after hope left.

Her fingers twitched toward her phone at 2 a.m.

Her chest still tightened like it didn’t know the difference between love and habit.

Lingling had built a room in her chest—and left the door open, wind howling through it.

 

 

Two weeks after the silence began, Orm found the video still—Lingling mid-laugh, hoodie slipping off her shoulder.

Her thumb hovered over the trash icon.

But she didn’t press it.

 

 

One night, after a particularly brutal design critique, Orm sat in the dim campus café alone, steam curling from her chipped mug as overhead lights buzzed faintly above brick walls painted with student murals.

She traced the rim of her coffee cup and listening to a playlist she’d made but never named.

It was full of songs that reminded her of Lingling.

A little too much bass. Lyrics about city lights and missing people who never say goodbye.

A girl across the room laughed and it sounded like her.

 

And Orm looked up, heart lurching—only to feel stupid for it again.

She stared at the wall. The brick texture. The way the shadows fell.

Lingling would’ve had something to say about it. Something observant and poetic and just annoying enough to make her blush.

She almost messaged her then. Just one line.


Lingling

Thu, Sep 24 at 2:43 PM

Orm:
Hey
Just checking in on you
I hope everything’s okay.

Mon, Oct 9 at 9:31 PM

Just let me know you’re okay. Please.

But she didn’t.

 

 

It took a month for the ache to settle.
Not disappear—never that.

Just... dull. Quiet. Like background noise.

She got better at pretending.

She laughed again. Even flirted once, when Bon introduced her to a cute girl from architecture.

But when she got home that night, she stared at her phone and wondered if Lingling would’ve been jealous.

Or if she even remembered her name.

 

 

Sometimes grief isn’t loud.
It doesn’t scream or break windows or bleed.

Sometimes it just lingers.

In the silence between songs.
In the absence of a name.
In the echo of a laugh you miss too much to say out loud.

 

And Orm?

She was still building things.

But now, they all felt like ruins.

 

 

Notes:

P.S. Hi @lattematcha_11—if you’re reading this... yep, it’s me. How are you?
I guess this marks my return, huh? Quietly. Anon mode. 55555