Chapter 1
The old ceiling fan wobbled above me, its rhythm off by just enough to be annoying. I counted the seconds between each squeak—three, always three—while my thumb scrolled through endless thumbnails of shows I’d never finish. My apartment smelled like stale coffee and the faint plastic burn of overheating electronics. Downstairs, someone slammed a door hard enough to rattle my windows.
I stretched, arching my back against the couch cushions. The sunlight from the balcony cut across my lap in a sharp, warm line, and I shifted, letting it press deeper. My sweatpants were loose, the elastic worn out from too many lazy weekends just like this one. A commercial played at half-volume, some car ad with too much bass. I muted it.
The laptop on the coffee table was already open, its screen smudged with fingerprints. I dragged it closer, the hinge creaking. The search bar blinked at me, empty and expectant. My fingers hovered for a second before typing, quick and practiced. The first video loaded instantly, the preview thumbnail doing exactly what it was supposed to.
I slid my hand under the waistband of my pants, exhaling as my fingers brushed skin. The fan squeaked again. Three seconds. Outside, a dog barked. The video started playing.
The actress tilted her head back, biting her lip in that way they all do, and I tightened my grip. The laptop screen wobbled slightly—my knee bouncing under it, restless. A bead of sweat slid down my temple.
I thumbed the volume up just enough to hear her breath hitch, then paused. The balcony door was still cracked open. A breeze pushed through, carrying the distant hum of lawnmowers. I should’ve gotten up to close it.
Instead, I leaned back deeper into the couch, kicking my sweatpants down to my ankles. The sunlight hit me fully now, hot where it shouldn’t be. The fan’s rhythm matched mine for once.
She gasped something scripted on-screen, but my brain filled in the cracks—the wet sound of her tongue clicking, the way her nails would dig into my shoulders if she were here. Precum smeared between my fingers, tacky and warm. The laptop shifted again, my thighs tensing.
A car honked outside, sharp and sudden. My hand jerked faster on instinct, hips lifting off the cushion. Too loud for a Saturday afternoon, too close. I thumbed the volume down, but the damage was done—my pulse hammered in my throat now, uneven.
The breeze from the balcony smelled like cut grass and gasoline. I swallowed, tasting my own sweat. The fan wobbled. Three seconds. My fingers slowed, dragging slickness down the shaft. The actress moaned, muffled now. The sunlight burned.
The doorbell rang—not a buzz, but that stupid faux-chime my landlord installed last year. Sharp. Immediate. My hips jerked like I’d been caught doing something worse than this. The laptop slipped when I grabbed it, the screen thumping against the coffee table. A corner of the video still played, sound tinny through the speakers. My cock twitched, angry at the interruption.
I yanked my sweatpants up, the elastic snapping against my hips. Precum smeared the inside of the fabric. The doorbell chimed again, longer this time. Someone leaning on it. My pulse hammered in my throat. The couch creaked as I stood, knees shaky. The actress sighed behind me, breathy and fake.
The door swung open to Kyle’s shit-eating grin—he was already mid-laugh at something, probably nothing. His eyes flicked down my body before snapping back up. "Damn, dude. You look like you just ran a marathon." He leaned against the doorframe, smelling like weed and cheap cologne.
I stepped aside too quickly, blocking his view of the laptop. The sunburn excuse dried up in my throat when he snorted, nodding at my crotch. The bulge was obscene. Fabric clung. His smirk widened. "Hotter than usual?" he asked, toeing off his shoes like this was normal.
I adjusted myself under the pretense of scratching my thigh. Kyle's grin didn’t fade as he flopped onto the couch—right where I’d been sitting.
He reached for the laptop. "What were you—"
I slapped the screen shut before his fingers could graze the keyboard. The plastic let out a hollow clack. "Nothing. Wasn’t watching anything." My voice came out too high. The cooling fan whirred in the silence.
Kyle raised an eyebrow. He smelled like stale Doritos and had grass stains on his knees—probably from stumbling up my building’s shitty stairs again. "You were jerking off, weren’t you?" He didn’t even phrase it like a question. Just stated it, grinning like he’d found my secret stash of middle-school diaries.
I crossed my arms, acutely aware of the damp spot cooling against my thigh. "Dude. No." The lie hung in the air between us, limp and pathetic. Kyle snorted and jabbed a finger at my sweatpants—at the obvious tent still straining against the fabric. "Uh-huh. And that’s just your phone in your pocket, right?"
My face burned hotter than the sunlight still glaring through the balcony door. "Fine. Yeah." I rubbed my forehead, defeated. "It’s been... a few days," I lied. The laptop screen creaked faintly, still warm under my palm.
Kyle held up both hands in mock surrender, still grinning. "Shit, man, my bad." He flopped back against the cushions, making them wheeze. "Didn’t mean to cock-block you from yourself." The ceiling fan wobbled overhead, casting uneven shadows across his stupid, smug face.
I exhaled through my nose, rolling my shoulders to loosen the tension. "Yeah, yeah." My cock still throbbed—frustrated, impatient—but the moment was shot. Kyle dug his phone out of his pocket, already scrolling. "Seriously, though," he said without looking up, "finish up if you wanna. I’ll just..." He waved vaguely at his screen. "Pretend I’m not here."
The laptop was still warm under my fingers. I hesitated. The actress’s moan had cut off mid-sound when I slammed it shut, but the memory of her voice—breathy, fake—lingered in my ears. My sweatpants clung where they shouldn’t. Kyle snorted at something on his phone, oblivious or pretending to be.
A bead of sweat rolled down my spine. The sunlight had shifted, no longer hitting me directly, but the heat lingered. I drummed my fingers on the laptop lid once, twice. Then sighed and dropped onto the couch beside him, close enough that our knees bumped. "Nah," I muttered. "You’re already here."
Kyle snorted again—he did that a lot—and tilted his head toward me. "Dude, c’mon. I know you’re bored; I’m bored as hell too. And you know what boredom makes me?" His grin widened when I groaned, already knowing where this was going. "Horny," he confirmed, like it was some profound revelation. He shifted his hips, his cock straining against his jeans—he wasn’t even subtle about it.
I swallowed. "Wait. You’re suggesting we...?" My voice trailed off. Kyle rolled his eyes and rubbed the heel of his palm lazily over his crotch, fabric bunching under his fingers. "Don’t pretend you’ve never done this before," he said, like it was the most obvious thing in the world. His thumb hooked into his waistband, tugging it down just enough to expose the flushed tip of his cock.
The laptop screen reflected our blurry silhouettes—me frozen, him already moving. My breath hitched. Outside, a lawnmower sputtered to life. Kyle exhaled sharply through his nose, fingers curling tighter around himself. "Jesus," he muttered, "it’s been a minute." The air smelled like sweat and weed and the faint metallic tang of his zipper. My own dick twitched in response, still half-hard. "Yeah," I heard myself say, voice rough. "Same."
His laugh was breathy, uneven. The sunlight caught the wet shine of precome smeared across his knuckles. I swallowed, throat dry. His fingers flexed—slow, deliberate—and I realized I was watching the way his wrist twisted on the upstroke, the way his thumb pressed just under the head. My stomach tightened. The couch groaned under his shifting weight.
Kyle’s knee nudged mine. "Dude," he said, jerking his chin toward my lap, "you gonna just sit there?" His grin was lopsided, reckless. His cock twitched against his palm—no preamble, no theatrics, just flesh and motion and the wet sound of skin on skin.
My fingers curled into my own waistband before I could think better of it. The elastic snapped against my hips as I pulled my sweatpants down. The laptop screen dimmed—low battery warning—but neither of us moved to stop it. Kyle’s breath hitched when our thighs brushed. The lawnmower outside stalled.
"Fuck," Kyle muttered, eyes locked on my cock. His fingers slowed mid-stroke. "No wonder you were home alone jerking off. This thing’s a fucking weapon." He licked his lips—a nervous habit—and I caught myself puffing up, shoulders squaring.
"Thanks," I said, thumbing the swollen head just to watch his pupils dilate. "Yours is... nice too." The lie tasted sweet when Kyle snorted, his cheeks flushing darker.
He dragged his palm down his own length, comparing. "No need to pretend it’s as big as yours," he admitted, voice rough. His fingers squeezed just shy of too tight—competitive even now. The afternoon light caught the wet streak leaking from his tip.
"Definitely not," I smirked, rolling my hips to make my dick bounce. "Most guys are smaller." Kyle threw his head back laughing, shoving my thigh with his sneaker. "Fuck off," he wheezed, but his hand never stopped moving. The couch creaked dangerously as he arched into his own touch, knuckles brushing mine.
Sunlight glistened on the flushed skin of his cock when he twisted his wrist—a showy little flick he'd clearly practiced—and I couldn't resist. "Seriously though," I murmured, leaning closer, "yours looks nice. Cute, even." The word hung between us, sticky-sweet.
Kyle's laughter cut off with a choked sound. "Jesus Christ," he gasped, fingers stuttering. "You're fucking insufferable." But his hips jerked forward, betraying him. Precum dripped onto his jeans, darkening the denim.
The air between us thickened—part challenge, part something else. I dragged my knuckles along the underside of his cock, slow enough to make his breath hitch. "You started it with that weapon comment," I murmured. The sweat on his temple caught the light when he swallowed hard.
He shoved my shoulder—half-hearted, distracted. "Regretting that now," he admitted, voice cracking on the last syllable. His thighs tensed when I traced a fingertip along his frenulum, sticky with precome. "Asshole."
I grinned, thumbing the wetness smeared across his shaft. It clung to my skin in shiny strings. "You're leaking like a faucet," I murmured, watching another bead well up at his tip.
Kyle exhaled sharply through his nose—half-laugh, half-groan—as his hips twitched forward. "Yeah? Well you're staring at my dick like it owes you money." His voice cracked on the last word when I swiped my thumb through the mess, spreading it down his length. The scent of him—musky and sharp—filled the space between us.
I smirked, tugging at my own cock for emphasis. "You stared at my *weapon* first." The words hung in the air, stupid and juvenile, but Kyle's breath caught anyway. His fingers flexed around himself, knuckles brushing mine in the sticky space between our legs.
The silence stretched—just the wet sounds of skin on skin and Kyle's occasional huff of breath. Dust motes floated in the sunlight shafting between us, catching in the sweat sheening his collarbones. His Adam's apple bobbed when I spat into my palm and tightened my grip, slow and deliberate.
"You ever..." Kyle started, then swallowed hard, eyes darting to where our fists moved in tandem. "Do it… like, with another dude?" His voice was rough, stripped of its usual bravado. His thumb circled the head of his cock absently, smearing precum down the shaft.
I hesitated, pulse hammering in my throat. The lie tasted bitter. "No," I admitted, watching his pupils blow wide. "You?" My fingers slowed, knuckles brushing his. The laptop screen dimmed further, casting odd shadows across his parted lips.
Kyle exhaled sharply through his nose—half-laugh, half-groan—and rolled his wrist in a slow circle. "Nah," he lied, too quick. His hips jerked when my fingertip caught a bead of precome leaking from his slit. "You wanna?" The question hung between us, thick with something neither of us named.
I let go of myself slowly, knuckles brushing his thigh. An invitation. Kyle’s breath hitched, his fingers twitching where they’d been gripping his own cock. Then his hand—warm, calloused from lifting weights—closed around me in one fluid motion. The contact sent a jolt up my spine, sharp as static. I didn’t hesitate before reaching for him, my fingers curling around his length. His skin was hotter than I expected, the veins standing proud under my thumb.
Kyle’s laugh came out strained, his grip tightening reflexively. "Christ," he muttered, twisting his wrist on the upstroke. His palm was sticky with his own mess, smearing it down my shaft. The slide was filthy, perfect. I mirrored his rhythm, dragging my thumb over his swollen tip on every pass. He swore under his breath, his knee knocking against mine hard enough to rattle the coffee table. The laptop screen blinked its low-battery warning, forgotten.
"Fuck, your hand—" I groaned, hips jerking into his fist. The angle was awkward, our wrists bumping, but the pressure was relentless. Kyle grinned, sharp and knowing, as he thumbed the slit of my cock, spreading the wetness pooling there. "Yeah? Not bad for my first time, huh?" His sarcasm cracked when I squeezed the base of his shaft, twisting my fingers just so. His breath hitched audibly. "Okay, okay—fuck, you win."
The air between us smelled like sweat and musk and the cheap fabric softener clinging to Kyle’s hoodie. He leaned closer, his forehead bumping against my shoulder as his strokes slowed—deliberate now, testing. His exhale was warm against my collarbone when I matched his pace, our fingers tangling where we held each other. The fan overhead wobbled, casting erratic shadows across his flushed face.
"Gonna come," Kyle gritted out suddenly, his thighs tensing. His cock pulsed in my hand, hot and heavy. I didn’t let up, twisting my wrist just to hear him curse—low and ragged—as the first spurt striped his stomach. His grip on me faltered, fingers trembling, but I kept stroking him through it, milking every twitch until he shoved my hand away with a breathless laugh. "Fuck, dude—sensitive."
I barely had time to smirk before his sticky fingers wrapped around me again, slick with his own mess. The slide was obscene now, his come mixing with mine as he worked me faster, thumb digging into the frenulum with brutal precision. My vision blurred at the edges, the room narrowing to the heat of his palm and the way his teeth dug into his lower lip. "Close," I managed, hips stuttering.
Kyle's breath hitched—not from exertion but something else—as he watched me unravel. His grip tightened just shy of painful, his other hand splayed across my thigh like an anchor. The orgasm hit like a slammed door, my back arching off the couch as I came across his fingers and my own stomach in thick stripes. He didn’t let go until I twitched from oversensitivity, his laughter rough and satisfied.
We sat there, breathing hard, the fan’s squeak counting the seconds again. Kyle wiped his hand on his jeans—already ruined—and nudged my knee with his. "So," he said, grinning like he’d won something, "still bored?" The sunlight caught the sweat drying on his throat, the slow rise of his chest. I exhaled, boneless, and let my head thunk back against the cushions. "Nope," I admitted. "Definitely not."
The old ceiling fan wobbled above me, its rhythm off by just enough to be annoying. I counted the seconds between each squeak—three, always three—while my thumb scrolled through endless thumbnails of shows I’d never finish. My apartment smelled like stale coffee and the faint plastic burn of overheating electronics. Downstairs, someone slammed a door hard enough to rattle my windows.
I stretched, arching my back against the couch cushions. The sunlight from the balcony cut across my lap in a sharp, warm line, and I shifted, letting it press deeper. My sweatpants were loose, the elastic worn out from too many lazy weekends just like this one. A commercial played at half-volume, some car ad with too much bass. I muted it.
The laptop on the coffee table was already open, its screen smudged with fingerprints. I dragged it closer, the hinge creaking. The search bar blinked at me, empty and expectant. My fingers hovered for a second before typing, quick and practiced. The first video loaded instantly, the preview thumbnail doing exactly what it was supposed to.
I slid my hand under the waistband of my pants, exhaling as my fingers brushed skin. The fan squeaked again. Three seconds. Outside, a dog barked. The video started playing.
The actress tilted her head back, biting her lip in that way they all do, and I tightened my grip. The laptop screen wobbled slightly—my knee bouncing under it, restless. A bead of sweat slid down my temple.
I thumbed the volume up just enough to hear her breath hitch, then paused. The balcony door was still cracked open. A breeze pushed through, carrying the distant hum of lawnmowers. I should’ve gotten up to close it.
Instead, I leaned back deeper into the couch, kicking my sweatpants down to my ankles. The sunlight hit me fully now, hot where it shouldn’t be. The fan’s rhythm matched mine for once.
She gasped something scripted on-screen, but my brain filled in the cracks—the wet sound of her tongue clicking, the way her nails would dig into my shoulders if she were here. Precum smeared between my fingers, tacky and warm. The laptop shifted again, my thighs tensing.
A car honked outside, sharp and sudden. My hand jerked faster on instinct, hips lifting off the cushion. Too loud for a Saturday afternoon, too close. I thumbed the volume down, but the damage was done—my pulse hammered in my throat now, uneven.
The breeze from the balcony smelled like cut grass and gasoline. I swallowed, tasting my own sweat. The fan wobbled. Three seconds. My fingers slowed, dragging slickness down the shaft. The actress moaned, muffled now. The sunlight burned.
The doorbell rang—not a buzz, but that stupid faux-chime my landlord installed last year. Sharp. Immediate. My hips jerked like I’d been caught doing something worse than this. The laptop slipped when I grabbed it, the screen thumping against the coffee table. A corner of the video still played, sound tinny through the speakers. My cock twitched, angry at the interruption.
I yanked my sweatpants up, the elastic snapping against my hips. Precum smeared the inside of the fabric. The doorbell chimed again, longer this time. Someone leaning on it. My pulse hammered in my throat. The couch creaked as I stood, knees shaky. The actress sighed behind me, breathy and fake.
The door swung open to Kyle’s shit-eating grin—he was already mid-laugh at something, probably nothing. His eyes flicked down my body before snapping back up. "Damn, dude. You look like you just ran a marathon." He leaned against the doorframe, smelling like weed and cheap cologne.
I stepped aside too quickly, blocking his view of the laptop. The sunburn excuse dried up in my throat when he snorted, nodding at my crotch. The bulge was obscene. Fabric clung. His smirk widened. "Hotter than usual?" he asked, toeing off his shoes like this was normal.
I adjusted myself under the pretense of scratching my thigh. Kyle's grin didn’t fade as he flopped onto the couch—right where I’d been sitting.
He reached for the laptop. "What were you—"
I slapped the screen shut before his fingers could graze the keyboard. The plastic let out a hollow clack. "Nothing. Wasn’t watching anything." My voice came out too high. The cooling fan whirred in the silence.
Kyle raised an eyebrow. He smelled like stale Doritos and had grass stains on his knees—probably from stumbling up my building’s shitty stairs again. "You were jerking off, weren’t you?" He didn’t even phrase it like a question. Just stated it, grinning like he’d found my secret stash of middle-school diaries.
I crossed my arms, acutely aware of the damp spot cooling against my thigh. "Dude. No." The lie hung in the air between us, limp and pathetic. Kyle snorted and jabbed a finger at my sweatpants—at the obvious tent still straining against the fabric. "Uh-huh. And that’s just your phone in your pocket, right?"
My face burned hotter than the sunlight still glaring through the balcony door. "Fine. Yeah." I rubbed my forehead, defeated. "It’s been... a few days," I lied. The laptop screen creaked faintly, still warm under my palm.
Kyle held up both hands in mock surrender, still grinning. "Shit, man, my bad." He flopped back against the cushions, making them wheeze. "Didn’t mean to cock-block you from yourself." The ceiling fan wobbled overhead, casting uneven shadows across his stupid, smug face.
I exhaled through my nose, rolling my shoulders to loosen the tension. "Yeah, yeah." My cock still throbbed—frustrated, impatient—but the moment was shot. Kyle dug his phone out of his pocket, already scrolling. "Seriously, though," he said without looking up, "finish up if you wanna. I’ll just..." He waved vaguely at his screen. "Pretend I’m not here."
The laptop was still warm under my fingers. I hesitated. The actress’s moan had cut off mid-sound when I slammed it shut, but the memory of her voice—breathy, fake—lingered in my ears. My sweatpants clung where they shouldn’t. Kyle snorted at something on his phone, oblivious or pretending to be.
A bead of sweat rolled down my spine. The sunlight had shifted, no longer hitting me directly, but the heat lingered. I drummed my fingers on the laptop lid once, twice. Then sighed and dropped onto the couch beside him, close enough that our knees bumped. "Nah," I muttered. "You’re already here."
Kyle snorted again—he did that a lot—and tilted his head toward me. "Dude, c’mon. I know you’re bored; I’m bored as hell too. And you know what boredom makes me?" His grin widened when I groaned, already knowing where this was going. "Horny," he confirmed, like it was some profound revelation. He shifted his hips, his cock straining against his jeans—he wasn’t even subtle about it.
I swallowed. "Wait. You’re suggesting we...?" My voice trailed off. Kyle rolled his eyes and rubbed the heel of his palm lazily over his crotch, fabric bunching under his fingers. "Don’t pretend you’ve never done this before," he said, like it was the most obvious thing in the world. His thumb hooked into his waistband, tugging it down just enough to expose the flushed tip of his cock.
The laptop screen reflected our blurry silhouettes—me frozen, him already moving. My breath hitched. Outside, a lawnmower sputtered to life. Kyle exhaled sharply through his nose, fingers curling tighter around himself. "Jesus," he muttered, "it’s been a minute." The air smelled like sweat and weed and the faint metallic tang of his zipper. My own dick twitched in response, still half-hard. "Yeah," I heard myself say, voice rough. "Same."
His laugh was breathy, uneven. The sunlight caught the wet shine of precome smeared across his knuckles. I swallowed, throat dry. His fingers flexed—slow, deliberate—and I realized I was watching the way his wrist twisted on the upstroke, the way his thumb pressed just under the head. My stomach tightened. The couch groaned under his shifting weight.
Kyle’s knee nudged mine. "Dude," he said, jerking his chin toward my lap, "you gonna just sit there?" His grin was lopsided, reckless. His cock twitched against his palm—no preamble, no theatrics, just flesh and motion and the wet sound of skin on skin.
My fingers curled into my own waistband before I could think better of it. The elastic snapped against my hips as I pulled my sweatpants down. The laptop screen dimmed—low battery warning—but neither of us moved to stop it. Kyle’s breath hitched when our thighs brushed. The lawnmower outside stalled.
"Fuck," Kyle muttered, eyes locked on my cock. His fingers slowed mid-stroke. "No wonder you were home alone jerking off. This thing’s a fucking weapon." He licked his lips—a nervous habit—and I caught myself puffing up, shoulders squaring.
"Thanks," I said, thumbing the swollen head just to watch his pupils dilate. "Yours is... nice too." The lie tasted sweet when Kyle snorted, his cheeks flushing darker.
He dragged his palm down his own length, comparing. "No need to pretend it’s as big as yours," he admitted, voice rough. His fingers squeezed just shy of too tight—competitive even now. The afternoon light caught the wet streak leaking from his tip.
"Definitely not," I smirked, rolling my hips to make my dick bounce. "Most guys are smaller." Kyle threw his head back laughing, shoving my thigh with his sneaker. "Fuck off," he wheezed, but his hand never stopped moving. The couch creaked dangerously as he arched into his own touch, knuckles brushing mine.
Sunlight glistened on the flushed skin of his cock when he twisted his wrist—a showy little flick he'd clearly practiced—and I couldn't resist. "Seriously though," I murmured, leaning closer, "yours looks nice. Cute, even." The word hung between us, sticky-sweet.
Kyle's laughter cut off with a choked sound. "Jesus Christ," he gasped, fingers stuttering. "You're fucking insufferable." But his hips jerked forward, betraying him. Precum dripped onto his jeans, darkening the denim.
The air between us thickened—part challenge, part something else. I dragged my knuckles along the underside of his cock, slow enough to make his breath hitch. "You started it with that weapon comment," I murmured. The sweat on his temple caught the light when he swallowed hard.
He shoved my shoulder—half-hearted, distracted. "Regretting that now," he admitted, voice cracking on the last syllable. His thighs tensed when I traced a fingertip along his frenulum, sticky with precome. "Asshole."
I grinned, thumbing the wetness smeared across his shaft. It clung to my skin in shiny strings. "You're leaking like a faucet," I murmured, watching another bead well up at his tip.
Kyle exhaled sharply through his nose—half-laugh, half-groan—as his hips twitched forward. "Yeah? Well you're staring at my dick like it owes you money." His voice cracked on the last word when I swiped my thumb through the mess, spreading it down his length. The scent of him—musky and sharp—filled the space between us.
I smirked, tugging at my own cock for emphasis. "You stared at my *weapon* first." The words hung in the air, stupid and juvenile, but Kyle's breath caught anyway. His fingers flexed around himself, knuckles brushing mine in the sticky space between our legs.
The silence stretched—just the wet sounds of skin on skin and Kyle's occasional huff of breath. Dust motes floated in the sunlight shafting between us, catching in the sweat sheening his collarbones. His Adam's apple bobbed when I spat into my palm and tightened my grip, slow and deliberate.
"You ever..." Kyle started, then swallowed hard, eyes darting to where our fists moved in tandem. "Do it… like, with another dude?" His voice was rough, stripped of its usual bravado. His thumb circled the head of his cock absently, smearing precum down the shaft.
I hesitated, pulse hammering in my throat. The lie tasted bitter. "No," I admitted, watching his pupils blow wide. "You?" My fingers slowed, knuckles brushing his. The laptop screen dimmed further, casting odd shadows across his parted lips.
Kyle exhaled sharply through his nose—half-laugh, half-groan—and rolled his wrist in a slow circle. "Nah," he lied, too quick. His hips jerked when my fingertip caught a bead of precome leaking from his slit. "You wanna?" The question hung between us, thick with something neither of us named.
I let go of myself slowly, knuckles brushing his thigh. An invitation. Kyle’s breath hitched, his fingers twitching where they’d been gripping his own cock. Then his hand—warm, calloused from lifting weights—closed around me in one fluid motion. The contact sent a jolt up my spine, sharp as static. I didn’t hesitate before reaching for him, my fingers curling around his length. His skin was hotter than I expected, the veins standing proud under my thumb.
Kyle’s laugh came out strained, his grip tightening reflexively. "Christ," he muttered, twisting his wrist on the upstroke. His palm was sticky with his own mess, smearing it down my shaft. The slide was filthy, perfect. I mirrored his rhythm, dragging my thumb over his swollen tip on every pass. He swore under his breath, his knee knocking against mine hard enough to rattle the coffee table. The laptop screen blinked its low-battery warning, forgotten.
"Fuck, your hand—" I groaned, hips jerking into his fist. The angle was awkward, our wrists bumping, but the pressure was relentless. Kyle grinned, sharp and knowing, as he thumbed the slit of my cock, spreading the wetness pooling there. "Yeah? Not bad for my first time, huh?" His sarcasm cracked when I squeezed the base of his shaft, twisting my fingers just so. His breath hitched audibly. "Okay, okay—fuck, you win."
The air between us smelled like sweat and musk and the cheap fabric softener clinging to Kyle’s hoodie. He leaned closer, his forehead bumping against my shoulder as his strokes slowed—deliberate now, testing. His exhale was warm against my collarbone when I matched his pace, our fingers tangling where we held each other. The fan overhead wobbled, casting erratic shadows across his flushed face.
"Gonna come," Kyle gritted out suddenly, his thighs tensing. His cock pulsed in my hand, hot and heavy. I didn’t let up, twisting my wrist just to hear him curse—low and ragged—as the first spurt striped his stomach. His grip on me faltered, fingers trembling, but I kept stroking him through it, milking every twitch until he shoved my hand away with a breathless laugh. "Fuck, dude—sensitive."
I barely had time to smirk before his sticky fingers wrapped around me again, slick with his own mess. The slide was obscene now, his come mixing with mine as he worked me faster, thumb digging into the frenulum with brutal precision. My vision blurred at the edges, the room narrowing to the heat of his palm and the way his teeth dug into his lower lip. "Close," I managed, hips stuttering.
Kyle's breath hitched—not from exertion but something else—as he watched me unravel. His grip tightened just shy of painful, his other hand splayed across my thigh like an anchor. The orgasm hit like a slammed door, my back arching off the couch as I came across his fingers and my own stomach in thick stripes. He didn’t let go until I twitched from oversensitivity, his laughter rough and satisfied.
We sat there, breathing hard, the fan’s squeak counting the seconds again. Kyle wiped his hand on his jeans—already ruined—and nudged my knee with his. "So," he said, grinning like he’d won something, "still bored?" The sunlight caught the sweat drying on his throat, the slow rise of his chest. I exhaled, boneless, and let my head thunk back against the cushions. "Nope," I admitted. "Definitely not."