Cover of Silicon Hearts

17 chapters · 48970 words · Read 0 times

Matthew and Ian are colleagues and friends at Google in San Francisco. Matthew harbors a secret crush on Ian, but thinks Ian is straight because he lives with his girlfriend, Allison. One day, Ian reveals to Matthew that he's bisexual and has dated men before, which sets Matthew's crush into overdrive. Ian later drunkenly reveals his strong attraction to Matthew at a Halloween party, and the two begin an affair that threatens to unravel their work and social lives.

Chapter 1: Lunchtime Bombshell

The Google cafeteria smelled like cold brew and existential dread. Tuesday. Matthew stabbed at a sad kale salad, trying to ignore the cheerful chaos around him. Stainless steel surfaces gleamed under harsh lighting, reflecting the bright colors of free snacks and the rumpled Patagonia vests of a thousand engineers. The low roar of conversation was punctuated by bursts of laughter and the clatter of cutlery.

"Morning, sunshine," Ian's voice cut through Matthew's internal fog. He slid onto the bench opposite, tray laden with a suspiciously perfect avocado toast and an alarming amount of chia pudding. He looked unfairly good at 10:15 AM – dark hair slightly damp from his post-gym shower, crisp white shirt rolled up to reveal toned forearms. Half-Japanese, half-Irish chaos theory in human form.

"Morning," Matthew mumbled, focusing hard on a rogue chickpea. His phone buzzed on the table.

Ian nodded at it, a smirk playing on his lips. "Jake the Mistake checking in? Or is it Tuesday? Is Tuesday 'grocery run' day or 'regret-filled hookup' day? I lose track."

Matthew felt his ears heat. "Neither. Probably just spam." He flipped the phone face down. Jake’s latest Grindr message flashed briefly: Free later? Garage door’s busted again ;). Ian’s knowing look suggested he hadn’t missed it. Matthew shifted, the ergonomic cafeteria bench suddenly uncomfortable. "Maybe it's Liana. We're supposed to brainstorm UX pain points for the new Maps feature after lunch."

Ian chuckled, a warm, low sound that did unfortunate things to Matthew’s stomach. "Sure, Matt. Blame Liana." He scooped up a mountain of chia. "Speaking of questionable choices, did you see the new intern’s presentation deck? Looked like a PowerPoint explosion in a clipart factory. Sans comic, obviously. HR would have kittens."

Matthew managed a weak smile, grateful for the diversion. They fell into easy banter, dissecting office politics, the upcoming product launch, the baffling popularity of the kombucha tap. Matthew relaxed fractionally, leaning into the familiar rhythm of their friendship, the shared language of code and caffeine. He watched Ian’s expressive hands gesture as he described debugging a particularly stubborn API call, the way his eyes lit up when he talked shop. Matthew had memorized these details years ago. The slight crinkle at the corner of Ian’s eyes. The way he tapped his index finger against his coffee cup when he was thinking.

It was during a lull, as Ian casually wiped chia seeds from his chin, that he dropped the bomb.

"...so yeah, Allison wants to go hiking this weekend. Again." Ian sighed, swirling his coffee. "She's got this whole 'reconnect with nature' kick lately. Me? I’d rather reconnect with my couch and a decent scotch. But you know Allison." He took a sip. "Solidarity is key. She’d kill me if I bailed after last time."

Matthew nodded sympathetically. "The vegan picnic debacle?"

"The kombucha spilled on her vintage macramé bag," Ian corrected with a grimace. "Tears were shed. Loudly. Anyway," he continued, his tone shifting, becoming almost conversational, "it’s not my first rodeo navigating partner expectations. My ex, Daniel? Total outdoorsman. Hiking, camping, forced communal showers in bug-infested state parks." He chuckled. "That was… complicated."

Matthew froze mid-chew. Kale turned to cardboard in his mouth. Daniel. Ex-boyfriend. The words hung in the air between them, suspended over the stainless steel tabletop. The clatter of the cafeteria faded into a dull roar behind the sudden, violent thudding of his own heart. Ex-boyfriend. Meaning Ian had a boyfriend. Meaning Ian dated men. Meaning Ian was… not straight. Not exclusively straight. Bisexual.

Matthew kept his eyes fixed on his salad, acutely aware of the heat flooding his face, spreading down his neck. He forced himself to chew, swallow. Took a slow, deliberate sip of water. Play it cool. Play it cool, you idiot. Inside, his mind was a screeching cacophony. Years of meticulously compartmentalized longing, carefully buried beneath layers of jokes and fake Grindr confidence and Jake’s convenient distraction, exploded. Shrapnel of hope, fear, panic, and a terrifying, giddy rush ricocheted inside his skull.

Ian was watching him, that familiar, easy expression on his face. Oblivious to the seismic shift he’d just triggered.

"Daniel, huh?" Matthew managed, his voice thankfully steady. Almost casual. "Never pictured you as the communal shower type." Smooth. Real smooth.

Ian laughed, the sound warm and oblivious. "Desperate times, Matt. Desperate times. So," he leaned forward, elbows on the table, fixing Matthew with those disarmingly direct eyes. "You avoiding Jake today? Or just embracing emotional cowardice?"

"Strategically ignoring," Matthew deflected, grateful for the return to safer, self-deprecating territory. His pulse was still hammering against his ribs like a trapped bird. Ex-boyfriend. Ex-boyfriend. EX-BOYFRIEND.

Liana materialized beside their table, her bright patterned headwrap a splash of color against the steel. "Hey nerds. Ready to dissect user frustration metrics?" She arched an eyebrow at Matthew. "You look like you just saw a ghost. Or Jake without a shirt."

"Just contemplating the existential void of my salad," Matthew mumbled, pushing it away.

"Deep," Liana deadpanned. She glanced at Ian. "Allison pick another fight about your 'lack of shared creative vision'?"

Ian rolled his eyes good-naturedly. "Just planning my weekend penance in the woods. You joining?"

Liana shuddered. "Nature is where bugs live. Hard pass. Matt? You in?"

"Uh," Matthew stammered, brain still scrambling. "Maybe. Busy. Code." He stood abruptly, grabbing his tray. "Let's do this pain point thing, Liana. Ian... see you later?" The last part came out slightly strangled.

Ian gave him a lazy salute with his coffee cup. "Try not to get lost in the UX labyrinth."

Back in his minimalist, monitor-lit office, the door clicked shut. Silence. Or as silent as it got in the Googleplex, with the distant hum of servers and the muffled chatter from the micro-kitchen down the hall. Matthew slumped into his Aeron chair. He spun it slowly, staring blankly at the lines of code glowing on his screen. Meaningless glyphs.

Ex-boyfriend.

The dam broke. Images flooded his mind, vivid and intoxicating. Not pixelated Grindr fantasies or the efficient, sometimes borderline rough physicality he shared with Jake. This was different. Softer. Slower.

He pictured Ian laughing across a dimly lit dinner table, not the harsh cafeteria lights. Just them. No Allison. No Jake. No chia pudding. He imagined the warmth of Ian’s hand covering his own on the tablecloth. The imagined texture of Ian’s skin – smoother than Jake’s tattooed roughness, warmer than his own perpetually cold fingers. He envisioned leaning in, the scent of Ian’s clean, soap-and-sweat post-gym smell replaced by something subtler, maybe cedar and citrus. The hesitant brush of lips, the surprising softness. Not the practiced urgency he was used to, but something tentative, searching. Ian’s hand sliding into his hair, pulling him closer. The low murmur of his voice, whispering Matthew’s name. Not ‘Matt’. Matthew.

The fantasy deepened. Tangled limbs on a couch that wasn’t Jake’s battered futon. Slow Sunday mornings. Debating algorithms over coffee that didn’t taste like free cafeteria swill. Ian’s head resting on his shoulder while they debugged code together. The quiet comfort of just... being. A shared understanding deeper than office gossip or sarcastic banter. The terrifying, exhilarating vulnerability of letting Ian see past the quick wit and the carefully constructed shield of meaningless hookups.

The stark contrast to Jake was jarring. Jake was easy. Jake was uncomplicated physical release. Jake didn’t look at him with the kind of quiet intelligence that made Matthew feel both seen and utterly exposed. Jake didn’t make his heart pound like it was trying to escape his chest just by casually mentioning an ex-boyfriend over chia pudding.

He tried to refocus. Refactor the billing module. Fix the null pointer exception in service layer. The code swam before his eyes. He typed a few characters: `if (user.isAuthenticated()) {`. His fingers hovered.

Is Ian authenticated? Authenticated in his own skin? Authenticated in his relationship with Allison? Authenticated in whatever flickering awareness he might have about Matthew?

He deleted the line. Stared at the blinking cursor. It pulsed like his trapped heartbeat. The sheer, terrifying possibility Ian represented now was paralyzing. It wasn’t just a crush anymore. It was a door swinging open onto a landscape he’d convinced himself was permanently walled off. A future suddenly, dizzyingly, terrifyingly plausible.

How long had Ian known? How could he sit there, looking like that, sounding like that, and just… drop that information like it was nothing? Like it didn’t fundamentally alter the tectonic plates beneath Matthew’s world?

A notification pinged softly from his desktop. Slack. He glanced, expecting Liana demanding the user flow diagrams.

It was Ian.

`Ian Nakamura: Hey. Forgot to ask – you free for that code review later? 4pm? My calendar’s open.`

Just words on a screen. Just a colleague asking about work. But Matthew stared at them as if they were written in fire. His breath hitched. He heard the phantom echo of Ian’s voice saying ‘Daniel’. Saw the imagined curve of Ian’s lips in the low light of his fantasy.

His phone, still face down on the desk, vibrated again. Once. Twice. Jake. Or Liana. Or the world demanding he refocus on the safe, the known, the emotionally contained.

He didn’t move. He just kept staring at Ian’s Slack message, the cursor blinking relentlessly on his half-written code, the kale salad churning in his gut replaced by a whirlpool of hope and dread. The carefully constructed walls of his emotional cowardice had a massive, Ian-shaped crack running right through the center. He was 98% done with the project… and 100% completely, utterly distracted.

The cursor blinked on his screen. Taunting. `if (user.isAuthenticated()) {` mocked him. Is anyone ever truly authenticated? Matthew thought, his mind spiraling back to Ian’s easy confession. Ex-boyfriend. The words fizzed in his brain like bad code.

A sharp knock jolted him. Liana leaned against his doorframe, arms crossed, a skeptical eyebrow arched impossibly high. "Your existential void called. It wants its kale salad back. Ready to dissect user pain? Or are you still contemplating the futility of existence via chickpea?"

"Ha. Hilarious," Matthew managed, swiveling his chair. His voice felt thick. He gestured weakly at the empty chair opposite his desk. "Come mock me while I try to remember what Figma is."

Liana dropped into the chair, kicking her bright yellow sneakers up onto the edge of his minimalist desk, narrowly avoiding a stack of technical specs. "Spill it, Walker. You look like you just found a critical vulnerability in your own personality. Was it Jake? Did he send another 'u up?' at 2 AM with a poorly lit bathroom mirror selfie?" She shuddered dramatically.

Matthew ran a hand through his hair, making it stick up in awkward angles. "Worse." He paused, the words sticking in his throat. How do you casually drop that bomb? Hey, so, the guy I've been secretly, hopelessly obsessed with for three years just casually mentioned he used to date dudes over chia pudding. He took a breath. "It's Ian."

Liana’s playful expression sharpened instantly. She lowered her feet, leaning forward. "Ian? What happened? Did he finally notice you gazing longingly at his forearms during stand-up?"

"He mentioned... an ex." Matthew fiddled with a stress ball shaped like a defective Google Maps pin. "Over lunch. Just... dropped it in."

Liana blinked. "An ex? Like, Allison-before-Allison? Did she also hate kombucha?"

Matthew shook his head, meeting her eyes. His voice dropped, barely above the hum of his computer fan. "No. He. His ex. Daniel. Boyfriend."

The silence that followed wasn't empty. It was thick with the sudden shift in reality. Liana’s sharp intake of breath was audible. Her eyes widened, then narrowed slightly as she processed. "Daniel," she repeated slowly. "Boyfriend. As in... Ian had a boyfriend."

"Yeah." Matthew exhaled, the word releasing some of the pressure valve inside him. "Just... casually. 'Navigating partner expectations with my ex Daniel... total outdoorsman... forced communal showers.' Like he was talking about the weather. Or a particularly annoying API call."

"Whoa." Liana leaned back, whistling softly. "Okay. That's... unexpected intel." She studied Matthew’s face, the flush creeping up his neck, the way he couldn't quite hold her gaze. A knowing look settled over her features. "Ah. And this little revelation has caused a certain... system overload in the Matthew Walker mainframe, hasn't it?"

Matthew felt exposed. "Maybe. A little." He forced a shrug, aiming for nonchalance and landing somewhere near constipated duck. "It's just... news. Interesting news. About a colleague." He picked up the stress ball again, squeezing it hard. Colleague. The word tasted like ash.

Liana’s expression softened slightly, but her tone remained pragmatic, cutting through his flimsy facade. "Matthew." She waited until he looked at her. "Listen. I get it. Crush-of-the-century suddenly seems... theoretically possible. That's a head-spin. But." She held up a finger. "Big, flashing neon BUT. He mentioned an ex-boyfriend. Past tense. While currently discussing weekend plans with his current girlfriend. Allison. Who he lives with. Who, by all accounts, he’s serious about."

She leaned forward again, her dark eyes earnest. "Him being bi doesn’t magically dissolve his relationship. It doesn’t make him suddenly available. Or interested. It just makes him... Ian. Who happens to be bisexual. And happily coupled. With Allison."

Matthew nodded rapidly, the movement jerky."Right. Yeah. Obviously. Of course." The words tumbled out too fast. "Doesn't change a thing. Just... context. Extra data point." He tried to inject conviction, plastering on a smile that felt like cracked plaster. "Still just Ian. Still off-limits. Still with Allison. Crystal clear. No system overload here. Just... processing new data." He gestured vaguely at his monitor, where the unfinished code still glared accusingly. "Like this null pointer exception."

Liana watched him for a long moment. She saw the tremor in his hand around the stress ball, the forced lightness in his voice that didn't reach his eyes, the way his gaze kept flicking towards the hallway – towards Ian’s office. She sighed, a soft sound of understanding mixed with caution. "Okay, Matt. Okay. Just... remember the data point includes the 'happily coupled' flag. Don't let the new metadata scramble your logic circuits. Especially not where Jake's concerned." She stood up, patting his shoulder. "Now, can we please talk about why users keep trying to drag-and-drop countries in Maps? That pain point isn't going to detail itself."

"Right. Countries. Dragging. Pain." Matthew swiveled back to his screen, clicking open the shared document Liana had sent. The words blurred. Happily coupled. Doesn’t change a thing. Off-limits. Liana’s points were logical, irrefutable. They landed with the weight of absolute truth.

Inside, however, the turmoil was a swirling vortex. Ex-boyfriend. The two words echoed, not as a closing door, but as a door he hadn't even known existed swinging wildly open in a hurricane. The image of Ian – Ian laughing across a dinner table, Ian’s hand touching his, Ian’s lips – wasn't erased by Liana's pragmatism. It was suddenly, terrifyingly, rendered in higher definition. Technicolor possibilities, previously relegated to impossible fantasy, now flickered with a dangerous, seductive light. Happily coupled? The seed of doubt, tiny and corrosive, took root: Was Allison the cause of that happiness, or just... present for it? Was Ian truly settled, or was he, too, navigating some internal code that wasn't compiling correctly?

He stared at the Slack notification still glowing on his screen. `Ian Nakamura: Hey. Forgot to ask – you free for that code review later? 4pm? My calendar’s open.`

Four PM. Just Ian. Just code. Just two colleagues. But now, the simple act of sitting beside Ian, dissecting algorithms, felt charged with a new, volatile energy. The carefully constructed walls felt paper-thin. The 'happily coupled' flag Liana mentioned felt less like a definitive status and more like a variable whose value he suddenly, desperately wanted to reassess. The null pointer exception in his code was trivial compared to the unresolved reference error now screaming in his heart. He minimized Slack, needing the temporary blindness, but the echo of Ian’s voice saying 'Daniel' vibrated in his bones, a low hum beneath the office drone, impossible to silence.

Read on DreamPress

Write your own erotic story with AI