
SWIM
Fandom: NetJJ, net siraphop manithikhun, jj radchapon phornpinit, boyslove
Created: 8/21/2026
Tags
Testing the Waters
The late afternoon sun cast long, amber shadows across the terrace of Net’s private residence. The water in the infinity pool was a pristine, shimmering turquoise, undisturbed until Net stepped onto the edge, his phone in hand. He snapped a quick, shirtless photo—the muscles of his torso defined by the golden hour light—and posted it to his story with a simple caption: Finally some alone time. Time for a swim.
He didn't have to wait long. Less than three minutes later, his phone buzzed with a notification.
JJ: Hey! You’re swimming? Alone?
JJ: I told you last week I wanted to go swimming! Why didn't you invite me? 😤
Net stared at the screen, a slow, predatory smirk spreading across his face. He leaned back against a lounge chair, his thumbs flying over the keyboard. JJ was the only person in the world who could be so incredibly dense. For months, Net had been laying it on thick—the lingering touches, the way he gazed at JJ during rehearsals, the "jokes" about how they should just skip the friendship stage and get married. And every single time, JJ would laugh it off, blush furiously, and say something like, "P'Net, you're such a joker!" or "You're so good at acting, I almost believed you."
It was driving Net insane. But this? This was an invitation on a silver platter.
Net: I didn't think you were free, JJ. But if you're complaining... my gate code is still the same. Come over. I'll wait for you.
JJ: I’m leaving now! Don’t start the fun without me!
Net tossed his phone onto the side table and dived into the water. He needed the cold shock to settle his nerves. Tonight, he wasn't going to let JJ laugh it off.
Forty minutes later, the sound of the doorbell echoed through the outdoor speakers. Net hauled himself out of the pool, water cascading down his chest, and walked toward the gate. When he opened it, JJ was standing there, slightly breathless, carrying a small sports bag. He was wearing an oversized t-shirt and shorts, looking every bit the "sweet younger brother" image he projected, but Net noticed the way JJ’s eyes immediately dropped to Net’s dripping wet, bare chest.
JJ’s throat bobbed as he swallowed hard, his cheeks tinting a faint pink. "You... you actually started without me."
"I told you I was waiting," Net said, his voice dropping an octave. He stepped back, gesturing for JJ to enter. "Go change. You know where the guest bathroom is."
JJ hurried inside, avoiding eye contact. He told himself the fluttering in his stomach was just excitement for the pool. It was normal to feel a bit shy when your friend was as fit as Net, right? It didn't mean anything. It was just Net.
When JJ emerged a few minutes later, he was wearing a pair of short, black swimming trunks that left very little to the imagination regarding his slender legs and pale skin. He looked soft, vulnerable, and utterly edible.
"The water looks great," JJ said, trying to sound casual as he walked to the edge. He didn't notice Net following closely behind him until he felt a warm presence at his back.
"It’s better when you’re in it," Net murmured, leaning down so his breath brushed against the shell of JJ’s ear.
JJ shivered, a thrill running down his spine that he chose to interpret as a sudden breeze. "P'Net, stop teasing. Let's just swim."
He jumped in, the splash echoing in the quiet evening. Net followed, his powerful strokes bringing him right next to JJ in the center of the pool. The sun had dipped below the horizon, and the pool lights hummed to life, turning the water into a glowing, intimate sanctuary.
They swam for a while, splashing each other and racing from one end to the other. JJ was laughing, his hair slicked back, his eyes bright. He felt safe here. He always felt safe with Net, which was why he could ignore the way his heart hammered whenever Net touched him.
"You're getting faster," Net said, cornering JJ near the edge of the pool where the water was shallower. He placed his hands on the tiled rim on either side of JJ, effectively trapping him.
JJ laughed nervously, his hands coming up to rest on Net’s wet shoulders to keep some distance. "I've been practicing. You can't beat me forever."
"Is that so?" Net leaned in closer. The playful glint in his eyes had shifted into something darker, more focused. "What do I get if I win the next round?"
"I don't know," JJ stammered, his fingers twitching against Net’s skin. The heat radiating from Net’s body was palpable even through the cool water. "A free meal?"
"I don't want a meal, JJ," Net said softly. He moved one hand from the ledge, trailing his fingers up JJ’s arm, leaving a trail of fire in their wake. "I think you know what I want."
JJ’s breath hitched. He looked up, his large eyes searching Net’s face. "P'Net... you're doing that thing again. The flirting thing. You're going to make people misunderstand if you do this to everyone."
Net let out a sharp, frustrated huff of laughter. "Everyone? JJ, look at me. Do you really think I spend my Friday nights inviting 'everyone' over to my private pool to hover this close to them?"
"Well... you're a friendly person," JJ whispered, his voice trembling. He tried to look away, but Net reached out, his thumb catching JJ’s chin and forcing him to look back.
"I’m not being friendly," Net said, his voice a low growl of intent. "I’ve been trying to be patient. I’ve been trying to let you realize it on your own. But you’re so stubborn, or so scared, that you keep pretending this is just a game."
"It’s not that I’m scared," JJ protested, though his heart was loud enough to drown out his words. "It’s just... we’re friends. Best friends. If we... if we change that, and it goes wrong..."
"It won't go wrong," Net interrupted, his face inches from JJ’s. "Because I’ve wanted you since the day I met you. And I know you feel it too. Every time I touch you, you stop breathing. Every time I look at you, you blush. Stop lying to yourself, JJ."
JJ opened his mouth to argue, to offer one more platitude about friendship, but Net didn't give him the chance. He leaned forward and pressed his lips firmly against JJ’s.
It wasn't a tentative kiss. It was a claim. Net’s mouth was hot and demanding, tasting of chlorine and desire. JJ froze for a split second, his brain screaming in denial, but then his body took over. The wall he had built around his heart crumbled instantly. He let out a soft moan into Net’s mouth, his arms sliding up to wrap tightly around Net’s neck, pulling him closer.
Net groaned, his tongue sweeping past JJ’s teeth to tangle with his. The kiss deepened, becoming frantic and hungry. Net’s hands moved from the ledge to JJ’s waist, hoisting him up so that JJ had to wrap his legs around Net’s hips to stay afloat. The friction of their wet skin rubbing together sent jolts of electricity through JJ’s system.
"P'Net," JJ gasped when they broke apart for air, his forehead resting against Net’s. His lips were swollen and red, his eyes hazy with sudden realization. "Oh god, I... I really do like you, don't I?"
Net chuckled, a deep, victorious sound. "Finally. You’re so slow, JJ."
He didn't wait for a response before he began kissing JJ’s neck, his teeth grazing the sensitive skin just below the ear. JJ arched his back, his fingers digging into Net’s wet hair. The sensation was overwhelming—the cool water against his back and the searing heat of Net’s body against his front.
"Inside," Net muttered against his skin. "I want you in a bed."
JJ couldn't even nod; he just clung to Net as the older man carried him out of the pool. They didn't bother drying off, leaving a trail of water across the hardwood floors as they stumbled into Net’s bedroom. The moment the door clicked shut, they were on each other again.
Net pushed JJ onto the large, king-sized bed, hovering over him. The air conditioning was humming, but JJ felt like he was burning up. Net stripped off his wet trunks in one fluid motion, and JJ’s eyes widened at the sight of him—strong, hard, and completely unashamed.
"Your turn," Net whispered.
JJ’s hands were shaking as he pushed his own trunks down, kicking them off the edge of the bed. When he looked back up, Net was watching him with such intense adoration and lust that JJ felt a wave of shyness wash over him. He tried to cover himself, but Net caught his wrists, pinning them gently above his head.
"Don't hide," Net said. "You're beautiful. I’ve spent months imagining you exactly like this."
Net leaned down, his kisses moving from JJ’s lips to his chest, circling his nipples until JJ was writhing beneath him. Every touch was deliberate, designed to shatter JJ’s remaining inhibitions. When Net’s hand slid down between JJ’s thighs, JJ let out a high, sharp cry, his hips bucking instinctively.
"P'Net, please..." JJ pleaded, though he wasn't sure what he was asking for.
"I’ve got you," Net murmured, his voice thick with his own need. He reached for the nightstand, grabbing a bottle of lubricant he’d kept there, hoping for a night exactly like this.
He worked slowly at first, his fingers easing JJ open, his voice a constant stream of praise. "You're so tight... so soft for me, JJ. Look at what you do to me."
JJ was lost in a fog of sensation. He watched Net, his vision blurring. He saw the way Net’s muscles flexed, the way his jaw set in concentration. He realized then that all those moments he’d brushed off—the way Net would buy him his favorite drinks, the way he’d stay late to help him practice, the way he’d look at him when he thought JJ wasn't watching—it wasn't just "being friendly." It was love.
When Net finally entered him, JJ let out a long, shuddering breath, his eyes fluttering shut. It was a tight, stretching fullness that should have been uncomfortable, but with Net’s hands anchoring him, with Net’s lips pressed against his, it felt like coming home.
"Open your eyes," Net commanded softly.
JJ obeyed, looking up into the dark, swirling depths of Net’s gaze.
"I love you, JJ," Net said, his voice raw and honest. "I’m not joking. I’m not playing a character. It’s just me. And I love you."
Tears pricked at the corners of JJ’s eyes. "I love you too. I’m sorry I was so stupid."
Net smiled, a genuine, heart-melting expression, before he began to move. The rhythm was slow and deep, building into a crescendo of friction and heat that left them both breathless. JJ clung to Net, his voice breaking as he called out Net’s name, his body trembling with the force of his climax. Net followed shortly after, collapsing against JJ’s chest, their hearts beating in a frantic, synchronized rhythm.
The room was silent for a long time, save for the sound of their heavy breathing. The moonlight filtered through the curtains, casting a silvery glow over their tangled limbs.
JJ ran his fingers through Net’s damp hair, feeling a sense of peace he hadn't realized he was missing. "So..."
Net lifted his head, resting his chin on JJ’s chest. "So?"
"Does this mean we're... you know?" JJ asked, his natural shyness returning now that the heat of the moment had cooled.
Net raised an eyebrow. "Do I have to spell it out for you again, JJ? After all that?"
JJ blushed, hitting Net’s shoulder weakly. "I just want to hear you say it. Formally."
Net laughed, rolling off JJ but keeping him tucked close to his side. He pulled the duvet over them both. "JJ Radchapon, will you be my boyfriend? And I mean the kind of boyfriend who doesn't pretend I’m joking when I tell him he’s the most important person in my life."
JJ smiled, a wide, radiant expression that lit up his whole face. He leaned over and kissed Net’s cheek. "Yes. I’ll be your boyfriend, P'Net. But you have to promise to keep inviting me to swim."
Net pulled him closer, kissing the top of his head. "Deal. But from now on, the 'alone time' always includes you."
