DON'T OPEN THE APP
In Norwich, a city in the east of England, the rain rarely looked serious enough to bother with an umbrella. Usually it just hung in the air - fine, cold, almost invisible - and after ten minutes your hair was damp and dark patches had appeared on the shoulders of your school blazer. Walk long enough and the collar got wet too, and by then it was too late to pretend it wasn’t really raining at all.
In the centre of Norwich, narrow streets wound between old brick buildings and stone churches. But farther west, where Noah lived, the city looked much more ordinary: two-storey houses with small front gardens, hedges along the pavements, a corner shop and bus stops where schoolchildren gathered in the mornings. You could walk the same route for years and know exactly where water collected after rain, which branch caught your sleeve and which lamp post was the best place to wait for a friend.
Noah Reed left the house without an umbrella.
He was slim and slightly taller than most boys his age, with longish arms and narrow shoulders that made his school blazer hang a little loose. His thick, wavy light-brown hair had already been messed up by the damp wind, exposing a high forehead. Noah’s face was slightly long, his features still soft and youthful, and his pale eyes seemed to shift from grey-blue to grey-green depending on the light.
He adjusted one strap of his backpack and headed for the corner.
There he checked the time. Jamie was late.
That in itself barely counted as an event. Jamie could be late because he couldn’t find his other shoe, because his little brother had spilt milk, because his mum had asked him to take the rubbish out at the exact moment he was already at the door, or simply because five minutes earlier he’d decided he still had ten. But usually a message arrived before Noah reached their meeting place.
Noah got to the lamp post where they met almost every school morning and stopped. A few yellow leaves lay on the wet pavement. On the other side of the road, a woman walked past with a dog in a red coat, and beyond the junction a bus braked heavily at the stop.
His phone buzzed. Jamie had messaged him on WhatsApp:
go without mei’ll catch you at school
Noah typed:
why
Three dots appeared, vanished, then came back a second later.
Jamie wrote:
long story
Noah replied:
that’s not an answer
Jamie answered straight away:
that’s all you’re getting before 8:30 😭
Noah put the phone in his pocket and carried on alone.
Without Jamie, the walk felt unusually quiet. They didn’t always talk the whole way; sometimes they said nothing for the first five minutes. But Jamie normally walked on the left because, on the narrow stretch of pavement, the hedge on the right caught your sleeve after rain. They almost always slowed down by the little shop. At the crossing Jamie pressed the button even if someone else had already pressed it. At the bus stop he always read at least one completely pointless notice out loud. Without him, Noah noticed those details more than usual.
He passed the shop without stopping. A few minutes later his phone buzzed again, and Noah took it out, expecting another message from Jamie.
The lock screen showed the usual notifications: school email, the weather forecast, a message from the family group. Between them was another one, with no sender name and no familiar icon.
DON’T OPEN THE APP
Noah stopped in the middle of the pavement.
At first he thought he hadn’t expanded the notification properly, so he dragged it down a little, but nothing else appeared: no number, no second line, no app name. Just the warning.
DON’T OPEN THE APP
A bicycle bell rang behind him and Noah automatically stepped closer to the fence. A man in a bright yellow jacket rode past without even looking at him.
Noah took a screenshot and only then tapped the notification. The screen flickered, but nothing opened. The warning simply disappeared.
He waited a few seconds, then unlocked his phone. The first home screen looked normal. On the last one, in a previously empty space, there was a new icon: a dark square with no image, and three letters underneath it.
APP
Noah knew for certain it hadn’t been there that morning.
He took his second screenshot of the morning, this time of the home screen. The status bar showed 08:23.
He pressed and held the icon. Normally, after a second, a small system menu appeared - App info, Uninstall, sometimes a few other options. This time nothing happened. The icon didn’t even move.
Noah opened the list of installed apps and scrolled through it twice. APP wasn’t there. He checked recently installed apps and the download history in the app store, but there was no installation record, no download and no trace of it at all.
The time was 08:25. Noah went back to the installed-app list and took another screenshot. APP still wasn’t there.
On the home screen, the icon was still in place.
His first thought was to delete it, but the phone wouldn’t even let him reach the normal uninstall option. The system seemed not to recognise that APP existed, even though the icon suggested it could be opened.
Noah looked again at the warning he’d saved.
Not Delete it. Not It’s a virus. Specifically:
DON’T OPEN THE APP
Someone expected him to be able to open it. Someone knew it would appear.
Noah locked his phone and put it back in his pocket.
He didn’t open APP.
Not yet.
Beyond the school fence stood a two-storey red-brown brick building. Pupils were already crowding beneath the canopy by the newer entrance, sheltering from the drizzle.
Jamie Cole was easy to spot at the gates of Marlowe Gate Academy. He stood under the canopy near the fence, chewing a piece of toast half-wrapped in aluminium foil while trying to zip his backpack with one hand.
Jamie was slim, with thick dark-brown hair that he usually styled carefully to look as though he hadn’t styled it at all. The rain had stuck a few strands to his temples, ruining the effect. He had a slightly long face, a straight nose, dark eyes and expressive eyebrows. At rest he could look serious, but the moment he saw Noah his whole face came alive. He grinned with his mouth full and raised the toast in greeting.
Noah stopped in front of him.
“How did you get here before me?”
“Mum gave me a lift. My little brother got milk all over my shirt, so I had to change, and she was already late for work. There’s your long version.”
“That was your ‘long story’?”
“I was preserving the mystery.”
He looked at the toast.
“And this is compensation. Mum says foil keeps it warm.”
“And?”
“We now have convincing evidence that Mum is wrong.”
Noah was about to answer when he remembered the phone.
“Right. Something else. Was this you?”
Jamie stopped chewing.
“Was what me?”
Noah took out his phone and showed him the icon.
“This.”
“An app?”
“It wasn’t there this morning.”
“Strong opening.”
Noah opened the screenshot of the warning.
Jamie read it, and his smile changed slightly.
“Okay. I like this better.”
“Did you do it?”
“How?”
“I don’t know.”
“Excellent. Very solid accusation.”
“I’m not accusing you. I started with the person most likely to think this was funny.”
“Fair.”
Jamie took the phone and pressed his finger to the unfamiliar icon. No menu appeared.
“Already tried that?”
“Yeah. And it isn’t in the apps list.”
“What do you mean, it isn’t?”
Jamie opened the system list himself, scrolled from top to bottom, then returned to the home screen.
“Right. That is weird.”
“Thank you.”
“I didn’t say scary. Just weird.”
“I didn’t say it was scary.”
Jamie looked at the warning again.
“So what happens if you tap it?”
“I don’t know.”
“You haven’t opened it?”
“It literally says not to.”
“Yes, I can read.”
“Then what’s the question?”
“The question is, now I want to know what’s in it too.”
“That’s a bad reason.”
“It’s the reason half the internet exists.”
Pupils streamed past them. Someone pushed the door open with a shoulder without looking up from their phone. Two girls under one umbrella were arguing about whether homework counted as finished if the file existed but hadn’t been submitted. By the entrance, a teacher was asking someone, yet again, to take an earbud out.
The school bell rang.
Jamie looked towards the doors.
“If we don’t go in now, Mrs Carter is going to become the actual problem.”
“Wait.”
Noah looked once more at the warning, then at the icon. Until he understood what he was looking at, he couldn’t even decide what made more sense: open it, try to delete it, show someone or leave it alone. Every option was a guess.
But if he just pretended nothing had happened, he’d think about it through the whole lesson anyway.
“If my phone dies, I’m telling everyone it was you.”
“Fair.”
Noah tapped APP.
The screen was almost black. In the top-left corner, in small white letters, was only the name:
APP
No logo. No menu. No tabs. No settings. Beneath the heading was an empty area like a message feed with nothing in it yet. At the bottom there was no text box and no send button.
Noah swiped up and down, tapped the heading, then the empty space. Nothing happened.
“Well?” Jamie asked.
“Looks like a messenger with everything removed except the name.”
Jamie peered over his shoulder.
“Terrifying.”
“Normal apps don’t look like this.”
“The school timetable looks worse.”
Noah closed APP.
“So what now?”
Jamie shrugged.
“Now you’ve officially ignored a mysterious stranger. Congratulations.”
They headed into the building, still arguing over whether a warning from an unknown person was enough reason to obey them at least once in your life.
By mid-morning, APP had almost managed to become just another strange thing: abnormal, but not important enough to make the school stop.
In the changing room, someone discovered he’d left his tie at home and was trying to borrow a spare. On the stairs, a group of Year 10 pupils took up almost the whole width of the flight. Outside the English classroom, two girls filmed a short video until the teacher appeared in the doorway.
In the corridor Noah saw Ruby Taylor. Far more people knew Ruby’s name than she knew theirs. Ruby had an open face with soft, still-young features and pale eyes. She stood with her friends, telling them something animatedly. Even Noah, who had barely spoken to her, knew exactly who she was.
One of her friends was holding a phone just out of reach. Ruby grabbed for it, and her long blonde hair fell across her face. She pushed it impatiently behind one ear.
“Delete it.”
“Why?”
“Because I’m warning you.”
“Terrifying.”
Ruby finally snatched the phone back.
Jamie, passing by, looked over her shoulder.
“Don’t delete it. Finally, proof Taylor exists without a filter.”
Ruby turned to him.
“Cole, not even a filter could help you.”
“And you’re still looking.”
“People look at car crashes too.”
Ruby’s friend laughed. Jamie pressed a hand to his chest as though he’d been mortally wounded, and Ruby walked on down the corridor, still smiling.
“Are you two always like that?” Noah asked.
“Me and Ruby? She insults me. I endure it with dignity.”
“Looks mutual.”
“You’re bad at reading people.”
A minute later they were arguing over who was supposed to have printed the history sheet, and the morning’s strange event slipped into the background again.
In maths, Mrs Carter was writing simultaneous equations on the board while explaining why the right answer without the working still counted as incomplete.
“If you just write the final number, that’s not a solution. I need to see how you got there.”
Noah copied down the next equation.
The phone in his pocket gave a short buzz.
He carefully took it out under the desk. The notification was from APP.
The empty feed now contained its first item: a rectangular card with a thin grey border. Inside was a small image. Noah tapped it and it expanded to fill the screen.
It was a screenshot of his WhatsApp chat with Jamie. At the top was the name Jamie, and below it the latest incoming message, timestamped 10:27:
if she says “an answer without working isn’t an answer” one more time i’m going out the window 😭 we’re on the ground floor don’t be dramatic
Noah’s own phone showed 10:21.
He read the message again and looked at Jamie, sitting two rows away. Jamie’s phone lay face down beside his pencil case.
On the board, Mrs Carter circled someone’s correct result.
“The number itself is right, but where’s the working? I need to see how you got there.”
Noah took a screenshot and put the phone away.
For the first half-minute, Noah genuinely tried to listen. Then his eyes kept drifting back to the clock. He watched the minutes change and barely noticed that Mrs Carter had already moved on to the next example.
“Noah?”
He looked up.
She was staring straight at him.
“We’re still here.”
A few people laughed.
“Yeah.”
“Excellent. Then perhaps you can tell me what x is?”
Noah looked at the board. The last couple of minutes had passed him by.
“Seven?”
“Are you asking me?”
“Seven.”
Mrs Carter nodded.
“Seven. Now show me where it came from. An answer without working isn’t an answer.”
A quiet groan went around the room.
Noah looked at Jamie. Jamie raised his eyebrows as if asking what was wrong with him.
Less than four minutes remained until 10:27.
Noah forced himself to look at his exercise book again, but almost immediately started counting seconds. At 10:26, Mrs Carter returned to the previous problem and reminded the class once more that she wanted to see the working, not just the answer.
Jamie’s hand disappeared under the desk.
A few seconds later Noah’s phone buzzed again, but this time it was an ordinary message. Jamie had written:
if she says “an answer without working isn’t an answer” one more time i’m going out the window 😭 we’re on the ground floor don’t be dramatic
Noah stared at the screen for several seconds. The wording was identical to what APP had shown him six minutes earlier.
He didn’t reply to Jamie before the end of the lesson.
After the bell, Jamie caught up with him by the stairs.
“You could’ve at least reacted.”
“I was trying not to affect the test.”
“What test?”
Noah led him over to the wall, away from the flow of pupils, and first showed him the APP screenshot, then opened their real chat.
Jamie looked from one screen to the other. In Noah’s screenshot the system time at the top showed 10:21, while inside the WhatsApp image Jamie’s message was marked 10:27. In the real chat, the same message was now there with its actual sending time.
“You saw this before I wrote it?”
“Yeah.”
“Exactly this?”
“Word for word.”
“And you deliberately didn’t tell me?”
“If I’d told you, you could’ve written it because you’d seen it.”
“I wouldn’t have.”
“You don’t know that.”
“I actually know what I do pretty well.”
Noah looked at him.
Jamie paused.
“Fine. Sometimes.”
He looked at the screenshot again, and the smile slowly disappeared from his face.
“I thought of it in the lesson.”
“You’re sure?”
“After she started on about the working again. I wasn’t sitting at home last night composing my great window message.”
“You might have written something similar before.”
“Similar, yeah. Word for word, no.”
The bell for the next lesson rang. Someone on the landing above shouted:
“Cole, you coming?”
“Yeah!”
Jamie handed Noah’s phone back but didn’t leave straight away.
“Don’t show anyone yet.”
“Why?”
“Because either this is a seriously good setup, or I don’t know what it is.”
Noah nearly pointed out that Jamie usually had a theory for everything, but Jamie was already heading up the stairs.
At break they decided to work out what had actually happened and chose the far end of the staircase between the buildings, where hardly anyone stopped.
“Right,” Jamie said. “Theory one: I’m pranking you.”
“How?”
“No idea. But I’m very talented.”
“Rejected.”
“Rude. Theory two: you’re pranking me.”
“Why would I show myself your future message?”
“So I’ll admit you’re smarter than me.”
“There are much easier ways.”
“I hate you.”
“What if someone hacked my phone?” Noah said.
“And?”
“They got access to your old messages. Maybe APP uses them to predict what you’re going to write.”
Jamie stared at him.
“It showed my message before I thought of it.”
“I know.”
“And you’re trying to explain that with autocomplete?”
“I’m trying not to explain it with a time machine.”
“Thank you. I was starting to worry this conversation was getting weird.”
A door opened downstairs. Two girls walked past the staircase discussing who had liked whose post during the night, followed by a Year 8 boy running down the corridor while trying to button his blazer and hide his phone at the same time.
When it was quiet again, Jamie looked at the screen.
“I’d suggest deleting the thing,” he said. “But you already tried this morning.”
“Yeah.”
Jamie grimaced.
“This morning I wanted to open it. Not so much now.”
“Why?”
“Because this morning it was boring. Now it knows what I’m going to say before I do.”
It sounded almost like a joke, but Jamie wasn’t smiling.
The next hour and a half were so ordinary that Noah almost began to feel stupid. In science he actually listened to most of the lesson, Jamie spent break arguing with someone about a match Noah hadn’t watched, and by the lockers they saw Ruby again with one of her friends.
The girls stood with their heads bent over a phone.
“He actually sent it to three more people?” her friend asked.
“Four, if Sophie is right,” Ruby said.
Jamie slowed as he passed.
“Ruby...”
She looked up.
“Not now, Cole.”
“I just wanted to...”
“Not now.”
There was none of the morning’s teasing in her voice.
Jamie nodded and walked on.
Noah caught up with him a few steps later.
“What happened?”
“Later,” Jamie said.
This time he didn’t smile.
The second notification came shortly before lunch.
Noah was by the lockers when his phone buzzed. A second card had appeared in APP’s feed, this time with the preview of a vertical video. It was eleven seconds long and timestamped 12:41.
The time now was 12:18.
He didn’t open it alone. He found Jamie in the next corridor, waiting for a friend before lunch. Noah caught him by the sleeve and pulled him towards the window at the end of the corridor.
“Again.”
“What?”
Noah showed him the screen.
As soon as Jamie saw APP, he stopped resisting.
They played the video.
Someone was filming a friend sitting at a table, giving a mock-serious review of the school lunch to camera. In the background, a kitchen worker pushed open a side door and stepped out carrying two flattened cardboard boxes.
A few seconds later a pigeon flew inside.
The person holding the phone swung the camera towards the bird. Someone yelped. The pigeon darted over the tables, clipped a plastic cup with one wing, and orange juice spilled across a tray. Jamie appeared in frame, raising his own tray in front of his face like a shield.
The pigeon landed on a light fitting.
Future Jamie lowered his tray and said:
“I respect that kind of cheek.”
Someone behind the camera laughed, and the video ended.
Jamie watched it again.
“Why a pigeon?”
“What?”
“Say you’ve actually got a way of sending things from the future. Wars, disasters, lottery numbers, who’s going to win the league. And you choose a pigeon in the canteen.”
“Maybe because it’s easy to check.”
Noah scrubbed back to the moment when the door opened in the background.
“If we go in early and see what happens, we’ll know more.”
Jamie raised his eyebrows.
“You want to change the pigeon’s future?”
“No. I want to check where the video came from. Who was filming, what was happening before the pigeon came in, whether everything else matches.”
“And how are you going to check that?”
“We go early. Watch it ourselves.”
They went to the canteen earlier than they normally did for lunch.
The side door was closed.
“That’s it,” Jamie said. “Pigeon defeated. We can all go home.”
“In the video, the kitchen worker opens it.”
“Then tell her that in twenty minutes a bird from the future is going to fly in here.”
Noah chose a table roughly in the part of the room where the video had been filmed. From there he had a clear view of both the side door and the nearby tables.
“So what now?” Jamie asked.
“We wait.”
“This is the worst lunch of my life.”
“Last Tuesday you ate soup with a fork.”
“I didn’t have a spoon. It was an emergency.”
While they argued, the canteen gradually filled up. Chairs scraped across the floor, someone was swearing in the queue, and someone else was already filming short videos for the school chat. At the next table Noah recognised the boy who’d been pretending to be a restaurant critic in the video. His friend sat opposite him. They were talking, and the phone was still lying on the table.
The closer it got to 12:41, the more ridiculous Noah felt. He was sitting in the school canteen waiting for a pigeon because an unknown app had shown him eleven seconds of the future. He kept looking from the side door to the boy with the phone at the next table.
At 12:40, a kitchen worker appeared with two flattened boxes. She walked over to the side door.
The friend opposite the boy from the video picked up his phone and started filming as the boy began his restaurant-critic routine again.
Noah looked at his phone.
12:41.
At that exact moment, the kitchen worker pushed the door open with her hip, carried the boxes outside and left it open for a few seconds while she went back for a trolley.
A pigeon flew through the doorway.
The shout was louder than it had been on the video. The bird shot upwards, swept over the tables, changed direction sharply and caught a plastic cup with one wing. Orange juice spilled across a tray, and Jamie automatically threw his own tray up in front of his face.
The pigeon made another circuit and landed on a light fitting.
Jamie slowly lowered his tray.
“I respect that kind of cheek.”
People at the next table laughed.
Noah was already watching the boy with the phone. He really was filming, but at first the camera had been pointed at his friend. Only when the pigeon came in had it swung towards the bird - exactly as it did in APP.
Before he’d properly thought about it, Noah got up and walked over.
“Were you filming that?”
The boy lowered his phone.
“The pigeon? Yeah.”
“Did you know it was going to fly in?”
“What?”
“Were you waiting for the door to open?”
The boy looked at Noah as if the question was so strange he first had to decide whether it was a joke.
“I was filming him,” he said at last, pointing at his friend. “He was reviewing the food.”
“Show me the beginning.”
“Why?”
“Just show me.”
The boy shrugged and opened the video. The first few seconds really were only his friend and his plate. The door was far in the background. Only when the pigeon flew in did the camera jerk towards it.
“Happy?” the boy asked.
Noah nodded and walked away.
Jamie was waiting by their table.
“Well?”
“He was filming his friend. He didn’t know about the pigeon.”
“Excellent. Student crossed off. Pigeon is our prime suspect again.”
A teacher by the wall raised his voice.
“Phones away! Stay in your seats and don’t chase the bird!”
Noah opened APP again. The video had been sitting there for more than twenty minutes now.
After lunch, he and Jamie sat on the low brick wall near the sports block. The rain had stopped, but the bricks were still damp, and Jamie complained several times that his trousers were now wet.
Noah barely listened. He watched the beginning of the video again. The boy had been filming his friend, not the door.
“Stop,” Jamie said.
“What?”
“Watching it. We were both there. It isn’t going to change because you play it another ten times.”
Noah took his finger off the screen.
Around them, school carried on as if nothing particularly important had happened. By the sports hall, someone was kicking a ball against the wall despite a sign asking them not to. Two girls sat on the steps sharing earphones. A teacher crossed the courtyard with a mug, holding a folder against his chest.
“I lifted the tray,” Jamie said. “And I said the line. Didn’t even think about it.”
He nudged a wet leaf with the toe of his shoe.
“I’m not saying I believe in the future on a screen. But I can’t pretend it’s just a prank anymore.”
Noah looked at APP.
“If it shows the future, why did the warning say not to open it?”
Jamie thought for a moment.
“Maybe whoever sent the warning isn’t the same person who made the app.”
“Why do you assume a person sent the warning?”
Jamie opened his mouth, but nothing came out.
The bell made them get up.
“We’ve got English,” Jamie said. “And if you stare at your phone all lesson, Mrs Lawson will take it.”
“I know.”
“Just checking you’re still living in our time.”
They went back into school.
In English, Noah had to read the same page of a story he normally liked three times. He got to the end, but remembered almost none of it.
After the lesson, two people stopped Jamie to talk, so Noah carried on by himself. By a corridor window he saw Ruby again. This time she wasn’t smiling. She was reading something on her phone, her eyebrows drawn together slightly.
One of her friends came over and asked her something. Ruby immediately locked the screen.
“Nothing.”
Her friend said something else.
“I said nothing.”
They walked away together.
Noah stayed where he was for a couple of seconds until Jamie appeared behind him.
“Why’ve you stopped?”
“Nothing.”
“Very convincing.”
They started down the stairs, and Noah’s phone buzzed again.
A third item had appeared in APP’s feed: another video file, nine seconds long. Above the preview was a time.
15:47
Noah checked the system clock.
13:36.
“Open it,” Jamie said.
Noah tapped the video.
The first thing he recognised was the place: the path behind the sports block, very close to the brick wall where they’d been sitting after lunch. The same metal bin and the same grey fence were visible in frame. The camera shook as though whoever was filming was walking.
Jamie was already moving forwards in the first frame. At first Noah couldn’t work out what was wrong with his face, then he saw the blood: his lip was split, with a dark line running down his chin.
Connor Hughes from Year 10 stood in front of him. Noah knew him by sight. Connor was saying something, but the first words were lost in the noise.
Jamie hit him with a quick right to the cheekbone.
Connor stumbled back. Ruby came into frame.
“Jamie, stop!”
Her voice sounded nothing like it had that morning when she’d been laughing by the lockers.
Connor was already backing away when Jamie stepped after him and hit him with his left hand across the jaw.
Connor lost his balance and fell backwards. The back of his head struck the edge of the low brick wall. The sound wasn’t loud, almost ordinary, which somehow made it worse.
He stayed down.
Someone behind the camera swore. Ruby screamed, the picture dropped sharply, and the video cut off.
For a while neither Noah nor Jamie spoke. The corridor went on making noise around them. Someone squeezed between them and the wall and said irritably, “Can I get past?”
Jamie took the phone and watched the video a second time, then a third. After that he paused on the first frame and zoomed in on his own face.
He touched the image of blood by his lip, then automatically ran a hand over his real lip. It was uninjured.
“That’s not me.”
Noah looked at him.
Jamie heard how it sounded.
“I mean, it is me. Looks like me. But I haven’t done that.”
“I know.”
“I’ve never hit him. Ever.”
Jamie played the video again. When Ruby came into frame, his expression changed. Then he looked at Connor.
“Shit.”
“What?”
Jamie didn’t answer straight away. For several seconds he stared at the screen as though he’d only just connected things that had existed separately until now.
Noah looked first at the timestamp on the file, then at the clock on his phone.
13:38.
There were two hours and nine minutes until 15:47.
That morning Noah had been trying to work out who could have sent Jamie’s message in advance, and at lunch he’d been watching for a pigeon. Now it wasn’t about how closely events would match the recording.
In two hours and nine minutes, Jamie was supposed to be behind the sports block with a split lip. Ruby was supposed to be screaming. Connor was supposed to be lying beside the brick wall. And someone was supposed to be standing there filming it all on a phone.
Noah played the video again, but this time he barely watched the fight. His eyes kept returning to the timestamp at the top of the screen.
15:47
It hadn’t happened yet.








