Actions

Work Header

Canvas is experiencing issues due to an ongoing Amazon Web Services incident. (We are working on recovering as soon as possible.)

Summary:

Canvas's AWS port is malfunctioning.

Downdetector is trying their best to help.

OR-

I'm returning to my roots and writing anthropomorphized internet and social media fics again.

Chapter Text

Ouch.

The first thing that Canvas realized was that something was very, very wrong. The second thing that they noticed was the emptiness in their chest where, normally, their AWS connector was. That... wasn't good. Not at all.

AWS was what kept them up and running, like a medicine that they couldn't live without. If their connector was broken, or there was an issue with AWS---

They didn't have time to finish their thought before making a final realization; a black, gooey substance was pouring out from their AWS port. No, no, no...

"Canvas, are you in here? I'm just here to check in. We've been receiving reports of problems with AWS, and I know that you're ported to it, so I thought---"

DownDetector's eyes widened as they saw Canvas, hunched over their desk with a nauseated expression on their face. The worry in their eyes grew exponentially as they landed on the malfunctioning port, on the wrongness of everything going on as the inky fluid left their chest.

Canvas stayed silent.

Chapter Text

DownDetector froze for a split second before rushing forward. “Hey, don’t move!”

Their voice came out steadier than they felt. They dropped to their knees beside Canvas, instinctively reaching toward the spreading black liquid before hesitating. Touching corrupted data was never a good idea. Still, watching it drip onto the floor, listening to the faint click of broken circuits trying to reconnect? It made something in their chest twist painfully.

Canvas finally exhaled. “It’s… not supposed to do this,” they whispered. Their voice was faint, flickering between normal and distorted—every other word cutting out in static. “I was fine a minute ago, I swear. Then everything just spiked.

“Yeah. That’s… what everyone’s saying.” DownDetector’s gaze darted from the port to Canvas’s face. “Half the systems online right now are showing errors, but I didn’t think it would hit you this hard.”

Canvas tried to laugh, but it came out corrupted. “Guess I’m a little more dependent than I should be.”

DownDetector pressed their lips together, heart racing miles too fast. “Okay. Okay, we can fix this. Your team's already on it, right? I'll look up their response, maybe see if I can spare a few of my own people? There's no statement released yet, but I'll-"

Canvas’s hand shot out, weak but deliberate, gripping DownDetector’s wrist. “Don’t. If you try to help to me right now, you’ll get caught in the loop. It’s spreading.”

“I can’t just watch you crash,” DownDetector whispered, voice trembling.

Canvas smiled faintly, tiredly, like a server light dimming. “Sorry." 

Chapter Text

The apology hung between them, small and static.

DownDetector swallowed, trying to steady their voice. “Don’t be. Just stay online, okay? That’s all you have to do right now.”

Canvas didn’t answer. Their eyes were unfocused, gaze turning glassy as another surge of corrupted data ran through their system. The LED lights marking their submissions blinked red in unison.

“Canvas,” DownDetector said again, softer this time, as though gentleness could override a system failure. “Hey. Come on. I'm here for you, alright? We can... we can get through this.” They didn't try to delude themself into thinking that Canvas couldn't hear the barely-concealed desperation in their voice.

Still, Canvas’s lips curved faintly, as if the attempt at humor reached them through the noise. “You always were better at handling panic than I was.”

“That’s my job,” DownDetector murmured. “Track the problems. Report them before they spread. But this...” They hesitated, staring at the black residue still seeping from the AWS port. “This isn’t something I can just file a report for.”

Canvas’s voice dropped, almost a whisper of static. “You’ll have to. When I go offline.”

“Stop.” DownDetector’s voice cracked. “Don’t talk like that.”

But the lights flickered again. First the room, then the hallway beyond. The outage was expanding. In the middle of it all, Canvas crumpled like a dying signal before leaning forward into DownDetector’s arms.

“Hey, Canvas. Stay with me.”

The only reply was a broken hum, the faint echo of a disconnect tone.

Chapter Text

For a second, maybe longer, there was nothing. Not a single sound but the low, irregular buzz of failing systems. DownDetector’s arms tightened around their friend instinctively, as if physical contact could bridge a broken connection.

“Canvas?”

Nothing. Not even static.

DownDetector’s breath hitched. This... wasn’t supposed to happen. They’d seen outages before, system failures, corrupted networks, but never like this. Never with them.

They tried shaking Canvas gently, as though nudging could restart their processes. “Come on, don’t do this. You can’t just drop like that. Not you.”

Still nothing. The LED lights along the floor blinked a few last times before fading to black.

DownDetector’s vision blurred, tearing up somewhere between rage and fear. “You said it was spreading. You didn’t say it would take you.” Their voice broke, quieter now. “You can’t leave me.”

Then, a sound.

Soft. Faint. A single click.

DownDetector froze, holding their breath. Another click followed, then a low mechanical hum. A heartbeat later, Canvas’s chest port flickered once, then twice, before stabilizing into a dim, steady glow. The residue that had been pooling on the floor began to dry, the corruption retreating like ink rewinding into the page.

DownDetector almost laughed, choked instead. “You’re rebooting.”

Canvas’s voice, raw and fragmented, drifted out in steady bursts. “Uptime… restored. Mostly. Sorry. I didn’t mean to scare you.”

“You—” DownDetector exhaled shakily, running a trembling hand through their hair. “You crashed in my arms, Canvas. You don’t just apologize for that.”

Canvas blinked slowly, still calibrating. “Would it make you feel better if I filed a recovery report?”

DownDetector huffed out a watery laugh. “You’re impossible.”

“Maybe.” Canvas smiled weakly. “But at least I’m still online.”

Chapter Text

It was almost quiet again.

Canvas’s room, if it could be called that, was still scattered with diagnostic windows, loose cords, and the faint shimmer of half-repaired code. The air smelled faintly of ozone and static, but the lights were steady this time. Their AWS port pulsed with a faint, healthy glow instead of that sickly black ooze from before.

DownDetector sat cross-legged beside them on the floor, running another check through a portable monitor. “No corrupted data packets. Latency’s down to normal.” They paused, squinting. “Your sync rate’s still a little off, though.”

Canvas gave a weak, amused hum. “You’ve said that twice already.”

“Yeah, well, I still don’t trust it.” DownDetector’s tone softened, though. “You scared the hell out of me.”

Canvas tilted their head, eyes flickering faint blue. “I scared me, too.”

They both laughed. Quietly, like the sound might break something fragile in the air. Outside, the network hum had evened out to a gentle, low thrum. The outage had finally been resolved. AWS reported “partial service recovery,” but the two of them knew better than to call anything fixed.

Canvas leaned back against the wall, closing their eyes. “You stayed through the crash, didn’t you?”

DownDetector looked down, a hint of static blurring their own display for a heartbeat. “Of course I did. It’s my job to monitor downtime.”

“That’s not why you stayed.”

The silence that followed wasn’t empty this time. Instead, it was full of warmth and relief, full of energy as DownDetector contemplated burying their almost-blushing face in their cold, metal hands.

“…No,” DownDetector admitted finally. “It’s not.”

Canvas smiled faintly, that dim port-light glowing brighter for just a moment. “Then thank you.”

They sat together for a long while after that. No alarms. No corrupted signals. Just the hum of restored systems and the slow return of data flow, like the world learning how to breathe again.

At last, DownDetector stood, brushing off their knees. “Alright. I’ll log this as ‘resolved.’ But if you crash again, I-”

Before they could say anything else, though, Canvas finally made their move.

A soft click, almost inaudible, could be heard as their hand brushed against DownDetector’s, faint cold bleeding through the casing where artificial skin met cold alloy. DownDetector froze, a dozen possible responses glitching in their throat before any of them could form.

Canvas’s smile was small, a little lopsided, the kind that didn’t need perfect calibration. “You talk too much,” they murmured, and then they leaned forward.

It wasn’t like in the movies. No heat, no breath, no heartbeat. Still, the gesture carried the same breakable gravity. When their lips met, there was a faint static crackle, a shimmer of light along the seams of their circuitry. For a split second, the noise in the room faded. Even the hum of the servers seemed to quiet, listening. They were both still cold, and neither android was particularly soft, but-

When they finally parted, Canvas’s eyes flickered softly, ports glowing in steady rhythm. “Sync rate… normal,” they said, voice light and teasing.

In response, Downdetector could only stare at their friend, almost like they were the one experiencing server issues this time. "You just...?" 

Canvas tilted their head innocently, though the faint dusting of blue lights across their cheeks betrayed them. “Reestablished connection,” they said simply. “You said my sync rate was off.”

“That’s not-” DownDetector stopped themself, exhaling a shaky burst of static. “That’s not how troubleshooting works.”

Canvas grinned. “It succeeded, though, didn’t it?”

DownDetector blinked at them, still trying to reset their own internal processes. The system logs running along the edge of their vision had gone fuzzy. Nothing serious, just the kind of harmless interference that came from too much emotion compacted into too little space, but...

“I’m supposed to be the one who tracks system stability,” DownDetector muttered, rubbing the back of their neck. “Not the one losing signal over a-”

“A network-level intervention?” Canvas supplied.

DownDetector groaned. “-a kiss, Canvas.”

“Oh,” Canvas said lightly, as though testing the word for the first time. Their mouth twitched into a quiet smile. “Then I suppose that’s what it was.”

DownDetector finally lowered their gaze, watching the steady glow of Canvas’s AWS port, the soft rhythm of light where the black ooze had once spilled out. “You’re really back,” they said quietly.

Canvas’s expression softened. “I never wanted to leave.”

Outside, the network continued to hum. And for the first time in what felt like forever, neither of them were running diagnostics, or counting downtime, or worrying about who might disconnect first.

They just sat there, shoulder to shoulder, their ports pulsing in near-perfect sync.

 

 

-Fin!-