Work Text:
Changmin lived a double life.
By day, he was just that kid. The one who sat alone at lunch, scribbled formulas on the edge of his notebooks, and avoided any kind of spotlight. Oversized hoodies, thick-rimmed glasses, and a slouch that screamed “don’t look at me.” At school, nobody gave him a second glance.
But at night?
At night, he transformed.
Under the username @__qfeed__, Changmin was a sensation. His streams weren’t filled with game commentary or reaction videos—they were filled with breathy moans, slick skin, and the kind of stamina that had his subscribers throwing tips like confetti. He never showed his face—just glimpses: soft lips, flushed skin, delicate collarbones, the arch of his back.
And God, people paid for that. They worshipped it.
So of course, he kept school and streaming strictly separate.
Until the night he found the stream.
—
Kim Sunwoo was a walking wet dream with the attitude to match. Tall, cocky, and too pretty for his own good, he moved through the halls like he owned the place. Captain of the soccer team, with a string of cheerleaders and fangirls wrapped around his finger—he was the kind of guy who laughed after he fucked you and never called back.
Changmin hated guys like him.
Or at least he pretended to.
It was a quiet Saturday night when Sunwoo’s life changed. He’d been scrolling through a few NSFW Twitter threads (as one does), not really expecting much. Just looking for something to kill the boredom. He stumbled across a retweet with the caption:
“@__qfeed__ is unreal. The sounds he makes? God-tier.”
He clicked.
The screen lit up.
There was a boy on all fours, back curved like a bow, trembling with each slow thrust of a toy. Skin flushed, lips parted, soft, choked whimpers escaping with every movement.
Sunwoo’s mouth went dry.
He’d seen a lot of streams—but this? This one felt different. Familiar, somehow.
The way the boy whimpered when he pushed in deeper. The breathy little, “F-fuck…” at the back of his throat. The soft curve of his waist. His thighs.
Sunwoo sat up straighter, heart skipping.
Wait. That voice.
He turned the volume up.
The boy was babbling now, moaning around a shaky breath, “So close… ngh—gonna cum…”
And that was it. That fucking voice. He knew that voice.
Because he’d heard it before—in class, when the nerdy kid in the hoodie asked the teacher a question. Soft. Polite. But just a bit too breathy.
No fucking way.
He scrolled through the profile again, narrowing his eyes at the bio. No face, no name. Just videos and clips and a growing suspicion pounding in his head.
That ass. That voice. Those fucking moans.
“Holy shit,” Sunwoo whispered.
@__qfeed__ was Ji Changmin.
And suddenly, Sunwoo wasn’t bored anymore.
He was very interested.
—
Sunwoo couldn’t sleep.
He tried. Really. He even turned off the stream, threw his phone across the room, and stared up at the ceiling like he wasn’t mentally replaying every frame of that last video. The arch of Changmin’s back, the way his fingers clenched the sheets, the breathless moans that sounded way too real now.
He hadn’t wanted to recognize him. But the more he thought about it, the more it clicked.
The reason Ji Changmin always looked so damn tired. The way he’d flinch anytime someone touched his shoulder in the hallway. The way he never took his hoodie off, no matter how hot it got.
Sunwoo ran a hand down his face, groaning. “God, he’s hot.”
He hated this.
Well—he didn’t. That was the problem.
—
Monday came fast, and Changmin was sitting in the back of AP Calc, hoodie drawn over his head, fingers tapping against the desk nervously. He hadn’t slept much either—too busy editing clips, answering subscriber DMs, and making sure no one from school was onto him.
His body ached in that sweet, satisfying way that only came after a long night of content-making.
He was sipping his iced coffee when the seat next to him scraped loudly across the floor.
He looked up. Blinked.
Kim Sunwoo.
The last person on earth who should be sitting next to him.
Sunwoo smirked like he knew something he shouldn't.
“Hey, nerd.”
Changmin froze. “Uh… hi?”
Sunwoo leaned in, elbow on the desk, eyes sharp and just a little too amused. “You sleep okay?”
What?
Changmin furrowed his brow. “Yeah?”
“Not sore or anything?”
His heart dropped. Shit.
He gripped his coffee tighter. “Why would I be?”
Sunwoo just grinned wider. “No reason.”
There was a pause—tense and awkward—before the teacher walked in and started the lecture. Changmin tried to focus, but he could feel Sunwoo’s eyes on him the entire time. Watching. Studying.
Like a predator waiting for the perfect moment to pounce.
—
Lunch was worse.
Sunwoo showed up at his table.
His table. The empty one where no one ever sat. He dropped his tray like he belonged there and bit into his sandwich like nothing was wrong.
Changmin stared.
“…What are you doing?”
Sunwoo shrugged. “Can’t I sit with my favorite streamer?”
The soda nearly spilled out of Changmin’s nose. “What?”
“You heard me.”
His voice dropped just enough to make Changmin’s stomach twist.
“You’ve got a great setup, by the way. Real professional. That last video? So good. Especially when you—”
“Stop—!” Changmin hissed, face burning red as he leaned in. “Shut up. What the fuck are you talking about?”
Sunwoo raised an eyebrow, all mock innocence. “Oh? You’re saying that wasn’t you?”
Changmin looked away. Bit his lip. Said nothing.
That was all Sunwoo needed.
He grinned, leaned back in his seat, and took another bite of his sandwich.
“Thought so.”
—
Changmin was losing his mind.
He spent the rest of the day avoiding Sunwoo like his life depended on it. Which, in some ways, it did. Because now Kim fucking Sunwoo knew. And if he told anyone—god, if he even hinted at it—
Changmin was screwed.
Social suicide. Expulsion. Maybe even worse if the wrong people started digging.
—
Sunwoo couldn’t stop thinking about it.
Every time he blinked, he saw that clip again—Changmin’s voice raw and gasping, his hips twitching as he pushed back on a toy, moaning like he was made for it. Sunwoo had never jerked off to the same video more than twice.
This one?
He’d lost count after the fifth time.
But it wasn’t just about the body now. It was the fact that the quiet little nerd everyone ignored turned out to be that. All that heat, that filth, hidden behind sweaters and shy smiles.
And now, it was his secret.
He planned on using it.
—
Changmin was about to slip out the back gate after last period—hood up, backpack tight to his chest—when a hand grabbed his wrist and pulled him hard.
He yelped.
“Relax,” Sunwoo said, dragging him behind the old equipment shed where no one ever went. “It’s just me.”
“Let go!” Changmin snapped, yanking his arm back. “What do you want?”
Sunwoo leaned in, way too close. “You.”
Changmin’s heart stuttered.
“W-what?”
“I want you. Like that. Just like in those videos.”
His whole body flushed.
“Shut up,” Changmin hissed. “Just because you found my account doesn’t mean you can—”
“I don’t want to watch you anymore,” Sunwoo interrupted smoothly. “I want to be in the next video.”
Changmin’s breath caught in his throat.
“I’d sound so good with you,” Sunwoo murmured, voice low and dragging. “Bet you’d be even louder when I’m actually inside you. All that stamina—you think you can outlast me?”
Changmin hated him. He *hated* the cocky way he spoke, the heat in his eyes, the way his words made something ache low in his stomach.
“…Not happening,” Changmin said, though his voice wavered.
Sunwoo smirked, stepping even closer until their chests nearly touched. “That a challenge?”
Changmin swallowed hard.
“Let me prove it.”
“Fuck off.”
“I bet you’ll be begging me for more by the time I’m done with you.”
And just like that, Sunwoo leaned in and whispered into his ear, voice like velvet and sin:
“Next time you stream, leave your DMs open.”
He walked away without another word.
Changmin stood frozen, heart hammering, thighs pressed too tightly together.
Shit.
—
Changmin had never felt this nervous before a stream.
His camera was set. Lighting dim, warm-toned, soft shadows brushing the edges of his skin. The chat window blinked quietly on the side of his monitor, already flooding with thirsty messages as his starting screen played gentle lo-fi in the background.
He glanced down at the message pinned to the top:
“DMs open tonight. Be good.”
A risk. A huge one.
But deep down, a part of him wanted Sunwoo to find it. Wanted to know how serious he really was.
He licked his lips, took a deep breath, and started the stream.
—
Sunwoo was ready.
Headphones on. Room locked. Phone in one hand, the other hovering over his keyboard.
When the screen lit up with the familiar background music and that blurred teaser of smooth skin, his cock stirred instantly. But tonight was different. Tonight, he wasn’t just watching.
He was participating.
The moment Changmin’s body appeared onscreen—slim frame stretched out on the bed, hoodie off for once, just low-cut briefs hugging his hips—Sunwoo typed:
@sun_wu: well well. look who showed up like a good little boy.
Changmin’s breath hitched.
He stared at the username in the corner of the chat. He hadn’t even thought Sunwoo would make an account. But of course he did. With the stupidest name possible.
The donations started almost immediately.
$50 — from @sun_wu: take off the briefs. slowly.
Changmin glared at the camera. He rolled onto his back, fingers slipping under the waistband. His hips lifted slightly as he tugged them down inch by inch, revealing more skin. The chat exploded.
@sun_wu: that’s it. show me what’s mine.
$100 — from @sun_wu: open those legs. let me see.
Changmin bit his lip.
He knew he should be annoyed, embarrassed even. But the heat pooling in his stomach was undeniable. Knowing he was watching—knowing every moan, every movement was driving Sunwoo insane on the other side of the screen?
It was electric.
“You’re so annoying,” he whispered, only half-aware the mic picked it up.
@sun_wu: say it louder, baby. let everyone hear who you’re whining for.
The words hit him hard. He shifted on the bed, thighs parting as he dragged his fingers down his chest, already flushed pink.
Another tip popped up.
$250 — from @sun_wu: finger yourself. and pretend it’s me.
Changmin nearly choked.
He stared into the lens for a long second—face still hidden, body fully exposed—and whispered:
“…you really don’t know what you’re asking for.”
Then he reached off-camera, grabbed a bottle of lube, and slicked his fingers.
The sounds were filthy. Wet. Echoing in his mic. His back arched the moment he slipped a finger in, face turned away as he moaned, high and breathy.
The chat was losing its mind.
But Sunwoo’s message was the only one he saw.
@sun_wu: that’s it. stretch yourself out for me.
Changmin whimpered, adding another finger, hips lifting off the mattress.
“F-fuck… Sunwoo—”
He froze.
Silence.
@sun_wu: say that again. louder.
Changmin covered his face with one hand, red all the way down to his chest. “I hate you,” he whispered.
@sun_wu: but your hole’s clenching like it loves me.
That was it. He came untouched, gasping and trembling, fingers still inside, the chat a blur of emotes and screams.
He ended the stream without another word.
—
His phone buzzed two minutes later.
[sunwoo]: nice show.
[sunwoo]: i’ll be over in ten.
[sunwoo]: don’t clean up. i want seconds.
Changmin stared at the screen, dazed and wrecked.
“…fuck.”
—
Ten minutes.
Changmin had exactly ten minutes to figure out whether he was about to make the dumbest or hottest decision of his life. His heart was still racing from the stream—his body flushed and slick with sweat, the scent of lube clinging to the air like guilt.
He paced his room, glancing toward the door every five seconds like it would slam open on its own.
And then…
Knock knock.
He froze. No turning back. He opened the door.
Sunwoo stood there, hoodie half-zipped, hair a mess like he’d sprinted the whole way. His gaze raked over Changmin’s body like he already knew what he was walking into—flushed skin, a baggy shirt, no pants.
“Hey,” Sunwoo said, voice lower than usual. Hungrier.
Changmin stepped aside wordlessly.
The moment the door clicked shut behind them, Sunwoo didn’t wait.
He backed Changmin up against the nearest wall, hands gripping his waist, lips ghosting over his jaw without touching. “You looked so fucking good on that stream.”
Changmin’s breath hitched.
Sunwoo’s lips curled into a smirk. “Whimpering for my tips, fingering yourself open like you were waiting for me to show up.”
“You’re full of yourself,” Changmin whispered, even as his knees wobbled.
“You will be full of me, soon.”
The tension snapped.
Sunwoo kissed him, fucking kissed him, and it was nothing like Changmin expected. It wasn’t soft. It wasn’t sweet. It was heat and tongue and teeth. Sunwoo kissed like he wanted to ruin him. Like he could.
Changmin moaned into it, hips rocking forward on instinct. Sunwoo hissed against his lips, one hand sliding under the hem of his shirt, fingertips brushing over his abs.
“You always this sensitive?” he murmured. “No wonder your viewers are addicted.”
“You’re the worst.”
“And you’re soaked,” Sunwoo shot back, pressing his thigh between Changmin’s legs. “Didn’t even clean up. You really were waiting for me.”
Changmin glared up at him, cheeks flushed deep red. “This doesn’t mean anything.”
Sunwoo grinned, tilting his head. “Then why are you shaking?”
Changmin grabbed the front of Sunwoo’s hoodie and yanked him closer, voice tight. “If you’re gonna fuck me, then fuck me.”
Sunwoo’s eyes gleamed.
“Oh, baby,” he said softly, tilting Changmin’s chin up, “you haven’t seen anything yet.”
—
Changmin didn’t remember being lifted, but the next thing he knew, Sunwoo had him pinned to the bed, shirt pushed halfway up his chest and lips latched onto his neck like he was trying to leave a map of bruises. His body responded faster than his mind could keep up—hips rolling up, hands fisting the sheets, legs parting without question.
Sunwoo dragged his tongue down to his collarbone, licking a slow stripe. “You always this responsive, or is it just me?”
“Shut up,” Changmin hissed, gasping when Sunwoo bit down just enough to make him flinch.
Sunwoo pulled back, sitting on his heels between Changmin’s legs, and looked down at him like he was a fucking meal. “Nah. Not when you’ve been moaning my name on camera.”
His hands gripped Changmin’s thighs and pushed them up, spreading him wide, eyes dark as they locked onto the slick mess between his legs. Still open. Still needy.
“Fuck. Look at you.”
Changmin tried to close his legs on instinct—too vulnerable, too exposed—but Sunwoo held him firmly in place. “Nope. Don’t hide now. You let thousands of people see you like this, but now you’re shy? Nah, baby. Not with me.”
Changmin whimpered—genuine and breathless.
Sunwoo leaned down, pressed an open-mouthed kiss to the inside of his thigh, and then another, higher, closer. “Did you cum thinking about me watching?”
Changmin didn’t answer.
Sunwoo slid two fingers between his cheeks, pressing lightly at the rim. “This where those pretty fingers were earlier?” he asked softly, voice sinful. “Stretching yourself out for me?”
Changmin’s hips jerked.
“Tell me.”
Changmin bit his lip, cheeks flushed red-hot. “Y-yeah,” he whispered.
Sunwoo’s smile turned feral.
“Good.”
He lubed his fingers and pushed one in slow—slick, easy, like Changmin’s body had been waiting for it. He watched every twitch, every flinch, every breathless gasp.
“You’re so fucking tight,” he groaned, pushing in deeper. “No wonder your streams blow up.”
Changmin whined when he added a second, hips rocking down to meet the thrust. “Sunwoo—fuck—faster—”
Sunwoo leaned over him, lips ghosting his ear. “You gonna be loud for me, baby? Like you were for the camera?”
Changmin nodded, already trembling. “Yes—yes—just—fuck me already—”
Sunwoo pulled his fingers out with a wet sound and grabbed the base of his cock, already slick with lube. “You want this?”
Changmin nodded desperately.
“You begged on stream.”
“I’ll do it again—just please—”
Sunwoo pushed in, all the way, one hard, slow stroke. Changmin screamed.
The stretch was sudden, perfect, hitting deep. He clawed at Sunwoo’s back, body arching like a bow, voice shattering into gasps.
“God, you’re so tight,” Sunwoo groaned into his neck. “Fucking made for this.”
He didn’t go gentle.
He fucked like he had something to prove—like every thrust was meant to remind Changmin exactly who he let into his bed. Deep, sharp strokes that made Changmin sob into the sheets, his voice hoarse and high, whispering Sunwoo’s name like a prayer.
“You like being used, huh?” Sunwoo panted. “Letting your viewers watch you fall apart. But this—this is mine.”
“Yours,” Changmin gasped. “I’m—yours—Sunwoo—fuck—”
Sunwoo reached down, grabbed Changmin’s cock, and stroked it in rhythm with his thrusts. “Cum for me,” he growled. “Let them hear how good I fuck you next time.”
It didn’t take long.
Changmin’s body tensed, eyes rolling back as he came hard all over his stomach, screaming Sunwoo’s name like it burned on his tongue.
Sunwoo followed with a groan, hips jerking deep as he filled him, burying his face in Changmin’s neck.
They stayed like that for a long moment—sweaty, panting, tangled in sheets and each other.
Then Sunwoo leaned up, kissed him once—slow, lingering—and whispered against his lips:
“You’re not streaming without me again.”
Changmin huffed but stayed silent. He didn't know what to say or do.
