Paragraph 1
Ethan Vale, 29, lived in a dim Belfast flat where the router’s green pulse felt like a heartbeat. One winter midnight, while debugging a dating app, a notification slid onto his screen: “E.Vale_1994 wants to chat.” The avatar was his teenage selfie, taken weeks before the car crash that officially killed him fifteen years ago.
Paragraph 2
Ethan’s fingers hovered; the apartment seemed to contract. He clicked. The chat box opened by itself. “You left me buffering,” the message said. A typing indicator throbbed like an anxious vein. Ethan replied, “Who is this?” The answer arrived instantly: “You, minus the part that survived.”
Paragraph 3
He ran a traceroute; the IP resolved to 127.0.0.1—his own machine. He tried to delete the account, but the settings page kept reverting. Every refresh duplicated the profile: E.Vale_1994(1), E.Vale_1994(2), until the screen was a mosaic of younger Ethans smiling like funeral photos. The router light turned crimson.
Paragraph 4
Ethan slammed the laptop shut, yet the phone on his desk lit up. Instagram, Twitter, even the smart fridge displayed the same handle. He unplugged everything, but the ghost network lingered in the air like cold breath. From the dark monitor came a whisper compressed into data packets: “Connection unstable. Soul reconnecting…”
Paragraph 5
Sleep offered no escape; his dreams buffered. He found himself in a chatroom of empty chairs where a moderator named @GraveReaper pinned rules: “1. No logging out. 2. No ad blockers for guilt.” A new participant entered—his mother, who died last spring. She typed, “Sweetheart, you’re using up my afterlife data.”
Paragraph 6
Ethan woke drenched, hearing the Windows 95 startup chime that had played at his childhood funeral. He decided to confront the code. Booting into a live Linux USB, he opened the dating app’s abandoned beta folder. There, buried in comments, lay a function he wrote at nineteen: reconnectSoul(), unfinished, its last line reading //TODO: handle mortality edge case.
Paragraph 7
He compiled the code. The terminal scrolled: “Compiling regrets… 45%… 98%…” Then silence. A new directory appeared: /afterlife/cache. Inside, JPEGs of every moment he wished he’d lived: blowing birthday candles, holding his mom’s hand, kissing the girl he ghosted. Each image had metadata: Date: Never.
Paragraph 8
Ethan cried, realizing the haunting was not malevolent but merciful—his unlived life demanding integration. He added a single commit: “Fix: grant closure.” He pushed to the repository, tagging it Release 2.0: Mortality Patch. The router light softened back to green.
Paragraph 9
The phantom notifications ceased. Instead, a calendar invite appeared: “Meet yourself at the park, 3 p.m. tomorrow.” Ethan arrived to find an old laptop on a bench, screen facing the sunrise. On it, a video played: teenage Ethan laughing, camera held by his mom. The footage ended with a subtitle: “Live the buffered seconds.”
Paragraph 10
Ethan closed the lid, feeling lighter, as if packets of grief had finally downloaded. He walked home, phone in airplane mode, listening to real birds. That night he finished the dating app, renaming it “Second Hello.” Its first prompt read: “Tell someone you’re still here.” Within a week, five thousand users had reconnected with estranged parents, long-lost friends, even themselves. And though Ethan never saw the phantom profile again, every time the router blinked, he smiled—remembering that even lost packets can find their way home if someone writes the right code.