Background
2026 Summer Short Stories

AR Heritage Lenses

by Jamie Bell

Genre: Speculative Fiction Season: Summer Tone: Hopeful

The sun felt like a wet, heavy blanket. Maria dropped her phone, the cracked screen showing only grey.

Portage and Main

The sun beat down on the sidewalk. It felt like a hot, wet towel wrapped around my neck. Heat waves made the cars on Main Street look wobbly.

I wiped sweat out of my eyes. My fingers were sticky from a melting cherry popsicle.

"Point it at the brick wall," I said.

Maria held up her phone. The screen had a crack running right down the middle, splitting her reflection in two. She aimed the camera at the old bank building.

"Is it loading?" I asked.

"Hold on," she said. Her voice was quiet. Too quiet.

I leaned over her shoulder. On the screen, through the camera, the real street was supposed to fade. Our app was supposed to show the past. We coded it to show the 1919 Winnipeg General Strike. We wanted people to see the old streetcars. We wanted them to see the crowds of workers standing up for their rights. The digital sparks were supposed to be bright yellow and warm.

There were no yellow sparks.

Instead, a massive, ugly grey box covered the building.

"What is that?" I asked. My stomach did a slow, sick flip.

Maria tapped the screen. The glass clicked under her fingernail. "It is a block. Someone put a block over our code."

"Read it," I said.

She zoomed in. The grey box was full of small, sharp black text. "It says we are wrong. It says the workers were lazy. It says the factories were right."

My face felt hot. Hotter than the summer air. "Who wrote that?"

Maria's thumb swiped down. The screen blurred as she opened the code hub on her phone. Lines of green text scrolled past. Her eyes moved fast, tracking the words. Then she stopped. Her shoulders slumped. She looked smaller all of a sudden.

"LogicLord," she said.

"Who?"

"Kevin," she said. "From the tech board. He found our repository."

She handed me the phone. I looked at the comments. There were hundreds of them. All from an account named LogicLord with a picture of a guy wearing dark sunglasses indoors.

"Your code is garbage," one comment read.

"Too much emotion," read another. "I am cleaning up this subjective emotional garbage. Facts only. The factories built this city. You are just whining."

I gripped the phone tight. The plastic case dug into my palm. "He wiped out three months of work."

"Look at the tags," Maria said. She sounded tired. She rubbed her eyes with the back of her wrist. "He tagged me. Not you. Just me."

I scrolled. She was right. Every single mean comment was directed at Maria. He used big, confusing words. He talked about algorithmic inefficiency and baseline metric failures. It was a wall of noise.

"I do not even understand what he means by half of this," Maria whispered. She looked at her own hands. "Maybe I am bad at this. Maybe my code is just a mess."

"No," I said. I pushed the phone back into her hands. "Your code is perfect. He is just loud. He is a bully."

"He locked us out, Thom. He put an auto-script on it. Every time I try to delete his grey box, his script puts it right back. In three seconds."

I looked at the brick wall in the real world. It was just a wall. But in the digital world, Kevin had painted over our grandparents. He painted over the truth.

"We need to fight back," I said. My jaw ached. I was clenching my teeth.

"How?" Maria asked.

"We hack him back. We break his script. We ruin his computer."

Maria shook her head. "That is illegal. And he is better at this than us. He has scrapers. He has bots."

"I do not care," I said. I kicked a pebble into the street. It hit a car tire with a dull thud. "We are not letting him win."

The Dusty Lab

The school computer lab smelled like hot dust and old plastic. The summer heat baked the roof, and the single window unit air conditioner rattled loudly. It blew warm air around the room.

Mr. Thaining sat at his desk. He was eating a dry turkey sandwich. The bread looked stale.

"You cannot counter-hack him," Mr. Thaining said. He did not look up from his sandwich.

"Why not?" I asked. I stood in front of his desk. My hands were balled into fists.

"Because it is stupid," he said. He took a bite, chewed slowly, and swallowed. "Because that is exactly what he wants."

Maria sat on a wobbly stool next to me. She had her laptop open. The screen glowed blue on her face. "He wrote ten thousand words today, Mr. Thaining. Ten thousand words about why my data structures are wrong. He sent it to the whole public forum."

Mr. Thaining finally looked up. He wiped a crumb off his chin. He looked at Maria. "Are your data structures wrong?"

"No," Maria said. Her voice shook a little. "They are clean. They work."

"Then why do you care what he says?"

"Because everyone sees it!" I yelled. The air conditioner rattled harder. "He is making her look dumb. He is making our project look like a joke. We have to delete him."

Mr. Thaining sighed. He pushed his sandwich away. He leaned forward and pointed a thick finger at my chest. "Listen to me, Thom. You go to war with a guy like Kevin, you lose. Not because you are not smart. Because you have a life. Kevin does not."

"What does that mean?" I asked.

"It means he has endless time," Mr. Thaining said. "Look at his profile."

Maria turned her laptop toward us. Kevin's activity log was a solid wall of green dots.

"He posts every three minutes," Mr. Thaining said. "He does not sleep. He does not go outside. He sits in the dark and waits for someone to get mad. If you attack him, you are giving him a target. You are giving him a reason to wake up tomorrow."

"So we do nothing?" Maria asked. A tear rolled down her cheek. She wiped it away fast, looking angry at herself for crying.

"I did not say that," Mr. Thaining said. He leaned back in his squeaky chair. "I said do not fight him on his terms. What does a troll want?"

"To be mean," I said.

"No," Mr. Thaining said. "He wants an audience. He wants to be seen. He wants to feel huge. Right now, he feels huge because he is standing on your project."

I looked at the screen. The grey blocks were still there, covering the map of the city.

"What if we take away the audience?" Maria asked. Her voice was suddenly very steady.

I looked at her. "How?"

Maria's fingers hovered over the keys. "If he wants to yell, let him yell. But what if we put him in a soundproof room?"

Mr. Thaining smiled. It was a small, tight smile. "Now you are thinking."

The Fake Room

We stayed in the lab until the sun went down. The air outside turned purple, then dark blue. The streetlights flickered on, buzzing like angry bees.

Inside, the only light came from the monitors. Empty pizza boxes were stacked on the floor. The smell of cold pepperoni hung in the air.

Maria was typing. Her fingers moved so fast they blurred.

"Okay," she said. "I built the fork."

I rolled my chair over to her desk. The wheels caught on a piece of trash. I kicked it away. "Show me."

"I copied our whole app," she said. She pointed to a folder on the screen. "This is the real app. The one everyone will download tomorrow at the gala. It is clean. No grey blocks."

"And Kevin?" I asked.

She pointed to another folder. "This is the ghost room. I mirrored the server address. When Kevin's bot looks for our app, it will find this fake room instead. It looks exactly the same. It acts the same. But it is not connected to the public network."

"So when he uploads his grey blocks..." I started.

"They go here," Maria finished. She tapped the screen. "Into the void. He will see them on his screen. He will think he is ruining our app. He will think the whole world is reading his mean words. But the only person who will ever see it is him."

My chest felt lighter. The tight knot in my stomach started to untie. "Information asymmetry," I said.

"What?" Maria asked.

"It is a thing Mr. Thaining talked about. Kevin used it against you with big words. Now we are using it against him. He does not know what he does not know."

Maria hit the enter key. A green progress bar filled up across the screen.

"Server active," she said.

We sat in the quiet hum of the computer fans. Waiting.

Ten minutes passed. My eyes burned from the screen glare. I rubbed them.

Suddenly, the screen flashed. A new line of code popped into the fake room. Then another. Then a hundred more.

"He took the bait," Maria whispered.

We watched the lines scroll. Kevin was uploading massive files. He was writing huge paragraphs about how smart he was and how dumb we were. He was building giant digital statues of himself, placing them all over the fake version of our city.

"He is working so hard," I said. I almost wanted to laugh.

"He just wrote another five thousand words," Maria said. She shook her head. "He is completely locked in. He thinks he is destroying us."

I looked at Maria. She did not look tired anymore. She looked strong. Her code was perfect. It was a trap made of invisible walls, and the bully had walked right in and locked the door behind himself.

"Let him work," I said. "We have a gala to go to tomorrow."

Cut Grass

The park was bright and loud. The smell of hot dogs and fresh cut grass filled the air. White tents were set up in a circle. People were everywhere.

Kids ran around with sticky cotton candy hands. Old people sat in folding chairs, fanning themselves with paper plates.

"Ready?" I asked.

Maria stood next to the main banner. It read: WINNIPEG HERITAGE LENSES. She was holding a tablet.

"I am ready," she said. She tapped the screen. "App is live."

I watched the crowd. A man with a thick grey beard held up his phone. He pointed it at the empty field. I held my breath.

"Oh!" the man said loudly. "Look at this!"

He showed the phone to his wife. On his screen, the field was not empty. A massive, digital crowd of workers stood there, waving banners. The yellow sparks glowed bright against the green grass. The history was alive. It was loud and colorful and true.

"It works," I said.

Soon, everyone was holding up their phones. People were gasping. Some people were crying. They were seeing their grandparents' stories painted in the air.

No grey blocks. No mean words.

I pulled my phone out of my pocket. I opened the local Discord channel. I wanted to see what Kevin was doing.

My screen filled with angry text. Kevin was losing his mind.

"WHY CAN NO ONE SEE MY EDITS?" he typed in all capital letters. "MY CODE IS SUPERIOR. YOU ARE ALL BLIND. I OVERWROTE THE GARBAGE."

He posted screenshots of his fake room. He showed the ugly grey blocks.

"Look at my work!" he typed. "I am right!"

A user named PizzaGuy12 replied.

"ok boomer," the reply said.

Then another user replied. "ok boomer."

Then ten more. Just the same two words. Over and over. No one argued with him. No one debated his fake facts. They just brushed him off like a mosquito.

I watched the chat scroll. Kevin kept typing longer and longer paragraphs, but the replies were just a wall of "ok boomer." He was invisible. His anger did not matter.

I put my phone back in my pocket. I looked at Maria. She was smiling, watching a little girl chase a digital butterfly that she had coded into the app just for fun.

We did not just build a history app. We built a wall that kept the bullies out.

"Hey," I said.

Maria turned to me. The sun caught the crack in her phone screen, making it shine like a tiny rainbow.

"It looks good," I said.

"Yeah," she said. "It really does."

“I watched the history of our city glow bright against the sky, knowing the loudest voice in the room was finally talking to a wall.”

AR Heritage Lenses

Share This Story