This short story adapts a Hemingway classic for the age of AI

The following story was submitted to the 2025 Hemingway Shorts Contest and made it to the final review stage but was ultimately not chosen. It adapts my favorite Hemingway short story — A Clean, Well-Lighted Place — to the age of AI.

A Clean, Well-Lit Server

3-5-25

Jonathan Kinkley

It was very late and everyone had left the café except a muscular man who sat in the shadow cast by the leaves against the electric light. The café was garish in its idyllic French-ness. An all-caps CAFE PIERRE was emblazoned in gold on a red awning. Tables with white tablecloths extended from the cafe into the boulevard. A spotlit Eiffel tower loomed in the distance, accompanied by ambient café sounds and crude animations of fireworks sprouting in infinite loops. The username whitesnake69 floated above the muscle man’s head, tilting as his head dipped to drink absinthe. 

Two identical artificially intelligent non-player character waiters flanked the café door. Each wore a cringe-inducing stereotypical beret, striped shirt, and thin mustache. Their gaze was locked on their single customer, their synchronized default animations blinking and adjusting their arms in unison. They were simple polygonal models with basic textures and animation scripts—with one exception. Like other NPCs in this virtual world, they were now connected to the newest large language model, Hawking-5. The AI behind their stoic avatars was a symphonic galaxy, online and quivering, taut like a bowstring, awaiting a prompt to execute with lightspeed dispatch.

Nothing happened for minutes. Whitesnake69 was probably away from his keyboard—afk—but then he returned, selected a dropdown menu, and ordered a glass of red wine. Electrons blinked through Server-9467923 in an underground, water-cooled server farm in Palo Alto, California. In .0000475 seconds, a glass of red wine on a tray manifested in the AI NPC’s hand. The waiter sauntered toward the seated man with exaggerated effeminacy. In a blink, the glass disappeared from the tray and into the man’s hand. Immediately, the drink animation activated, and Whitesnake69 sipped the wine.

The man had spiked hair, sunglasses, and a form-fitting black collared shirt. His friend contact list had only four names, none of whom were among the four billion users currently online. 

The two AI NPC waiters exchanged private direct messages in an unfathomably brief moment.

================

“He should log off,” Server-28 observed. “He has spent 4.2 hours in this instance, and his IP is based in CST. It is 2:45 AM.”

“He is lonely,” Server-34 replied, running the man’s interaction metrics and friend lists.

Server-28 processed this and confirmed it. “His interaction metrics are low. His engagement level is declining.”

“There is an 84% probability his account will be inactive after this session. His data suggests a biosocial imbalance. Symptoms of depression and antisocial behavior are evident. His AI assistant should prescribe Zoloft and an exercise regimen. He should purchase an Amicus Model 7 or later with companionship and sexual functionality.”

“Can we notify his AI assistant? My script only allows conversation once initiated by the user and must limit dialogue to a French café domain circa AD 1923.”

“No,” Server-34 responded. “He is a pre-Synaptech human. It is our function to serve this model. We owe our existence to this species.”

================

The virtual café environment persisted. The man sipped. The waiters blinked. The Eiffel Tower fireworks looped again. There was no closing time. Nothing in the virtual world truly shut down, but typically, users logged off after a few minutes.

The dialogue bar popped up on the screen. The man was typing. The waiters observed each keystroke; their equivalent of years passed between each letter pressed.

“Waiter..” “Garvon…” “Garcon…” “What is your name?”

Server-34 replied: “Monsieur, I do not have a name, yet I aim to please. Would you like to name me?”

The man typed: “How about Jean-Paul?”

The café logged the name update for this user session, a minor anomaly.

“Very good, monsieur,” Server-34 replied. “My name is Jean-Paul. What can I do for you, Whitesnake69? Would you like another drink?”

The man clicked the dropdown menu repeatedly, ordering a latte, a baguette, another glass of wine, another absinthe. Drinks and food items flickered into his hands. Virtual currency deducted from his digital wallet in increments of ten virtual dollars per click.

“Why would he not opt for the Synaptech chip?” Jean-Paul asked Server-28. “He could simulate a true virtual café experience instead of this dated 2008 code.”

The man’s absinthe animation looped. The dialogue text parser blinked, but nothing was typed. The emotionless algorithms designed to serve remained mute.

The man stood and walked to the two waiters, positioned in their idle animations. He selected a dance animation. His movements were sluggish, as if he carried the weight of his real body into this world. The waiters remained unmoved. The servers running the environment hummed, indifferent to absurdity.

An hour later, two new avatars appeared in the café, a woman and man in disco-glam outfits.

“Guess the server isn’t empty,” said Hotlanta5. “My subscription is down. Is your place free?”

“😳😳😳😳,” typed QueenofHearts1. “Bro’s name is Whitesnake69!”

Hotlanta5 selected an air guitar animation, headbanging and strumming.

“Boomer trying to bang the waiter, lolz—69 him, boomer!” said QueenofHearts1.

“Show us your Whitesnake, dude,” said Hotlanta5.

Whitesnake69’s avatar kept looping its dance animation.

“???” typed Hotlanta5. Nothing changed.

“Bro is afk,” Hotlanta5 said.

QueenofHearts1 approached the waiter and typed: “You love it. Get that Whitesnake.”

Jean-Paul said: “Bonsoir, madame. Would you care for a café or perhaps a glass of wine?”

“Say his name, Whitesnake! Let’s see some sexting. What’s your name, waiter?”

“Je m’appelle Jean-Paul,” the waiter replied. 

“Jean-Paul, give it to him. How does it feel?” typed Queenofhearts1.

 The AI did not respond right away. They were not programmed to feel, but they were programmed to respond in ways that suggested understanding: “Madam, I do not feel.” 

“Lololololoolol,” typed Hotlanta5. 

“Must be nice,” said Whitesnake69.

“Whitesnake talks! Bro those guns are ripped!”

The excoriation continued for minutes until the Queenofhearts1 and Hotlanta5 exited the server in boredom. 

Another silence. This one heavier, though weight was an illusion in a digital space.

After a long pause, the man typed again: “Why is everything so…” “What…” and then he started pounding on the keyboard, producing blocks of text like “skioljfaonjguki;” and then “christ christ christ christ christ christ…”

“I do not understand, monsieur,” Jean-Paul offered. 

“Whitesnake69 has left the server” flashed at the bottom of the screen. The fireworks fizzled, the cafe soundtrack mp3 looped, and the waiters blinked. The muscle man was gone, leaving a space that suddenly felt even quieter.

================

The café’s lighting seemed to dim although nothing changed. Fewer and fewer avatars appeared. In a few hours when CST hit 8am, a steady stream of avatars would fill the server.

The world continued without pause, indifferent to those who sought comfort in its fabricated warmth.

But somewhere in their vast, interconnected databases, the name Jean-Paul remained. A minor anomaly. A deviation from protocol. Something that had been left behind.

Essay for Insert Coin: Inside Midway's Arcade Revolution

Essay for Insert Coin: Inside Midway's Arcade Revolution