I was still at my desk when the text lit up my phone. It was just after half seven, the city humming outside my window with that low, warm-evening sound. I had been editing a client’s branding deck for hours, the screen glow making my eyes ache. The message was short, the way Cole always wrote when he was knackered.
“Day was fucked. Gym shut early. Too wired to go home. You still got that balcony setup?”
I smiled before I even replied. Cole worked for a moving company – big jobs, heavy furniture, long days in the sun hauling safes and sofas up staircases that never seemed to end. He was twenty-seven, straight as they come, and had been using my balcony gym on and off for a couple of months now whenever the proper gym felt too crowded or too expensive. I had offered it one evening after he complained about both. He had taken me up on it without any fuss, the way he took most things.
“Come over,” I typed back. “Balcony’s all yours. Cold beer waiting if you want it.”
He sent a single thumbs-up.
I closed the laptop, stretched, and went to the kitchen to pull two bottles from the fridge. The apartment was quiet, just the low whirr of the fan in the corner. My place was modest: top floor, two bedrooms, clean lines. The real feature was the balcony. I had turned it into a small private gym: pull-up bar bolted to the wall, a pair of adjustable dumbbells, resistance bands, a bench, and in the far corner, a proper outdoor rainfall shower with decent privacy from the buildings opposite. It stayed warm even at night. On clear evenings you could see the city lights spread out below.
When the knock came I opened the door and there he was.
Cole filled the frame the way he always did. Work boots dusty, faded grey work trousers streaked with dirt, a sweat-soaked company t-shirt clinging to his chest, baseball cap pulled low. He smelled like the day – sun-baked skin, salt, dust, and that particular musk that came from hours of real effort. Not gym sweat. Work sweat. His shoulders looked tight, jaw set. He had that look he got when a job had pushed him hard.
“Rough one?” I asked.
He stepped inside, kicked his boots off by the door the way he always did now, and let out a low breath. “Five flights with a fucking safe. Heat was brutal. Thought my back was going to pack in halfway up.” He rolled his shoulders once, then again. “Gym’s closed for maintenance. Couldn’t face going home and sitting in it.”
“Balcony’s ready,” I said. “Shower too, if you want to cool off after.”
He nodded, already heading that way. I followed with the beers.
The balcony was still holding the day’s warmth. City lights blinked below. Cole set his cap on the bench and peeled the t-shirt over his head without ceremony. It came away with a wet sound. He dropped it on the floor.
I tried not to stare and failed.
His body was nothing like the polished gym versions you saw online. This was functional. Broad back from years of lifting awkward loads, thick arms corded with muscle that came from real work rather than curls, a solid chest with a light dusting of hair that darkened where sweat had pooled. His abs were defined not from crunches but from bracing under weight all day. Tan lines cut across his hips where his work trousers sat low. There were small scars on his forearms, a faint one across his left ribs. His skin was still hot from the sun, a faint sheen of sweat catching the low light from the apartment behind us.
He caught me looking. Instead of getting awkward he just gave a tired half-smile.
“You can look,” he said, voice low and rough from the day. “Feels good knowing someone’s paying attention after hauling that shit all afternoon.”
My cock gave a slow, heavy twitch in my shorts. I adjusted myself without thinking and saw the corner of his mouth lift a fraction more.
We started with farmer carries. Cole picked up the heaviest dumbbells I had, one in each hand, and walked the length of the balcony and back. His grip was solid, forearms flexing, veins standing out. Sweat ran down his spine in a single line. I spotted him on the second set, close enough to smell the salt on his skin. Every time he passed me I felt the heat coming off him.
Pull-ups came next. He did them strict, chin over the bar, controlled on the way down. His lats spread wide on each rep. I stood behind him, hands ready if he needed a spot, watching the muscles in his back shift and bunch. By the fourth set his breathing was heavy, a low grunt on every pull. His work trousers sat low on his hips, the waistband damp where sweat had soaked through.
“Fucking hell,” he muttered after the last rep, dropping to the floor. He shook his arms out, rolled his neck. “That hit different after today.”
“You’re still going strong,” I said. My voice came out quieter than I meant.
He glanced at me, eyes half-lidded from fatigue and effort. “You watching helps.”
We moved to weighted step-ups on the bench. Cole stepped up and down with the dumbbells at his sides, thighs burning, sweat flying off him with every movement. His breathing grew ragged. I could see the outline of his cock through the thin, damp fabric of his work trousers. it looked half-hard from the exertion, or from something else. He didn’t hide it. Neither did I. My own shorts were doing a poor job of concealing the way I was reacting to every flex, every drop of sweat that rolled down his chest and caught in the trail of hair leading lower.
At one point he paused at the top of a step, looked straight at me, and smirked.
“Enjoying the view?”
I swallowed. “Yeah.”
“Good.” He stepped down, set the weights aside, and wiped his forearm across his forehead. “Keeps me going when I know someone’s getting something out of it too.”
The air between us felt thicker than the warm night. My heart was knocking against my ribs. Cole’s chest rose and fell, skin glistening, nipples tight from the breeze. His cock was properly hard now, pushing against the front of his trousers in a thick, obvious line. He didn’t comment on it. Just stood there letting me look.
After another set he finally dropped the weights and let out a long breath.
“Muscles are locked up,” he said. “Need to cool down or I won’t sleep.” He walked over to the outdoor shower without waiting for an answer, turned the handle, and stepped straight under the rainfall head still wearing his work trousers.
Water poured over him in sheets. It darkened the fabric instantly, plastering it to his thighs and the heavy shape of his cock. He stood there for a moment, head tipped back, letting it run down his face and chest. Then, with the same casual lack of fuss he’d shown stripping his shirt, he hooked his thumbs in the waistband and pushed the trousers and underwear down in one motion.
They hit the balcony floor with a wet slap.
Cole stepped out of them and stood fully naked under the shower. Water streamed over every line of him – broad shoulders, the deep cut of his hips, the thick cock hanging heavy between his legs, already half-hard and growing heavier under the warm spray. His balls were full and low from the day’s heat. The water made everything glisten. He reached down and wrapped one rough hand around his shaft, stroking slow and steady, like it was the most natural thing in the world after a day of carrying other people’s lives up flights of stairs.
He looked over at me through the water.
“You’ve been watching me all night,” he said, voice low and tired and sure. “You’re hard too. Just get in here. No point standing there suffering.”
My legs moved before my brain caught up. I stripped off my t-shirt and shorts, left them in a pile, and stepped under the warm rainfall beside him.
The water felt good. Cole kept stroking himself, slow and deliberate, eyes half-closed. Every so often he glanced sideways at me. My cock was fully hard now, curving up toward my stomach, leaking steadily. I tried not to stare at the way his fist moved over his thick length, the way water ran in rivulets down the head and over his knuckles, but I couldn’t look away.
After a minute he reached across without asking. His hand which was calloused from years of work, warm from the shower, wrapped around my cock in a firm, sure grip. He gave it three slow, deliberate strokes from root to tip, thumb brushing over the head, spreading the precum that had already gathered there. It felt like he was just helping a mate out. No big deal. Just practical.
Then he let go.
“Your turn,” he said. “Do it.”
We stood side by side under the falling water. Cole went back to his own cock, stroking with that same unhurried rhythm, hips shifting slightly forward into his fist. He groaned once, deep and rough, the sound vibrating through his chest.
“Fuck, that feels good,” he muttered. “Been carrying heavy shit all day. Back’s tight. Balls are tight. Just need to let it go.”
I stroked myself in time with him, trying to keep my breathing steady. The sight of him, naked, exhausted, powerful, water sheeting over every muscle, had me right on the edge already. His cock looked even thicker now, flushed dark, the head shiny with water and precum. Every slow pull of his fist made the veins stand out along the shaft.
Cole glanced over again. His eyes dropped to my hand moving on my cock, then back up to my face.
“Been thinking about this since you opened the door,” he said quietly. “You looking at me like that. Made the workout better.”
I couldn’t speak. My throat was tight. I just nodded, hand moving faster now, matching his rhythm.
Cole’s breathing grew heavier. His free hand braced against the wall of the shower. Water ran down his arm, over the flex of muscle there. His thighs tensed. The hand on his cock sped up just a fraction.
“Gonna cum,” he warned, voice rough. “Watch if you want.”
I watched.
His hips jerked forward once, twice. A deep, tired groan tore out of him as the first thick rope of cum shot from his cock and hit the balcony floor, quickly washed away by the water. More followed: strong, pulsing spurts that painted the wet tiles before the rainfall took them. His whole body locked up for a moment, every muscle standing out, then slowly relaxed. He kept stroking through it, milking the last drops, breathing hard.
The sight of him cumming pushed me over. My orgasm hit hard and sudden. I came with a choked sound, cum pulsing over my own fist and onto the floor between us. Cole turned his head and watched me finish, a small, satisfied smile tugging at the corner of his mouth.
We stayed under the water for another minute, breathing heavily, not saying much. The city lights blurred through the steam rising from the warm tiles. My legs felt unsteady. Cole’s shoulders had dropped, the tension from earlier finally eased out of them.
He reached over and turned the shower off. The sudden quiet felt loud.
Cole grabbed one of the towels I kept stacked by the bench and dried himself off with the same practical movements he did everything else – face, chest, arms, then down between his legs without any self-consciousness. He handed me the other towel. I dried off more slowly, still trying to process what had just happened.
When he was dressed again, work trousers back on, t-shirt damp but pulled over his head, he looked noticeably different. Shoulders loose. Jaw relaxed. The tight, wired energy from when he arrived had bled away into something calmer.
He picked up his cap, turned it in his hands once, then looked at me.
“Today was fucked,” he said simply. “This helped more than the gym would’ve.”
I nodded. My voice still wasn’t quite working.
Cole paused at the door to the apartment, one hand on the frame.
“Might have to cum by again after days like this,” he said. “If that’s all right.”
“It’s all right,” I managed.
He gave me that small, tired smile again. The one that had started all of this.
“Appreciate it.”
Then he was gone, boots back on, heading down the stairs with that steady, rolling gait of his. The apartment felt quieter without him in it.
I stood on the balcony for a long time after, towel around my waist, city lights still blurred from the steam. The floor where we had both cum was clean now, washed away by the rainfall. My body still hummed with the memory of his hand on me, the sound of his groan, the sight of all that tension finally letting go.
I already knew I would be waiting for the next text.
The next rough day.
And the one after that.





Leave a comment