Chapter 27: Twenty-Three Floors Up
The donation alert stayed on screen long after it should have disappeared.
FirstTimeViewer donated $500,000
Look outside.
Nobody in chat was talking about anything else.
One hundred and forty thousand people had completely abandoned every previous mystery, stalker, phone call, and home invasion theory. The entire internet had collectively become obsessed with one question.
What was outside the window?
Kai remained frozen beside his desk.
The blue glow from his monitors reflected across the apartment glass. Beyond it, the city stretched into the darkness, neon signs flickering against wet streets far below. Cars crawled through intersections like tiny glowing insects.
Twenty-three floors down.
Twenty-three.
Not three. Not four.
Twenty-three.
There was absolutely no reason for somebody to be outside his window.
Then the knock came again.
Tap.
Tap.
Tap.
The sound was soft. Almost polite. Exactly the way the knocking at his apartment door had sounded hours ago.
A cold sensation crawled up Kai’s spine.
His exhausted brain immediately started searching for explanations.
A bird.
A loose branch.
Building noise.
Some kind of weird thermal-expansion thing.
The problem was that none of those explanations knocked three times.
"Kai."
Luna’s voice pulled him back.
Unlike earlier, she didn’t sound calm anymore. Not panicked. Not scared.
Focused.
The kind of focus she got whenever something genuinely worried her.
"Don’t go near the glass."
Kai swallowed.
"I’m not."
"You took three steps toward it."
"...okay, technically I’m not continuing to go near the glass."
The chat immediately turned on him.
DumpsterWizard:
HE THINKS WE CAN’T SEE HIM
GoblinMortgage:
BRO IS NEGOTIATING WITH WINDOWS
CertifiedFailure:
HE WOULD DIE FIRST IN A HORROR MOVIE
Kai pointed at chat.
"They’re being rude."
"You’re moving toward the suspicious window."
"Fair."
The tiny exchange eased some of the pressure in his chest.
Only some.
His eyes remained fixed on the darkness outside.
Nothing moved.
No figure.
No shadow.
No impossible climber hanging from the side of the building.
Just city lights.
Then his phone buzzed.
Discord.
A message request.
Kai frowned.
The username looked familiar.
MoonlightGarden.
The same account from earlier.
The account Luna had immediately told him not to open.
His gaze flicked toward Discord, then toward Luna’s icon, then back toward the request.
"Kai."
Her voice carried a warning now.
"What?"
"Don’t."
The answer came too fast.
Way too fast.
Which, unfortunately, made him want to open it even more.
Curiosity was a disease.
And Kai had terminal symptoms.
The request contained three unread messages.
His thumb hovered.
Then clicked.
"I hate you."
Luna sighed.
"I know."
The first image loaded.
Kai frowned.
The photo wasn’t recent.
It showed him sitting alone inside a coffee shop, laptop open, headphones on, completely unaware he was being photographed.
The image quality looked good.
Too good.
Whoever took it had been close.
Very close.
His stomach tightened.
The second image appeared.
A bookstore.
Months ago.
Maybe longer.
Kai stood between shelves reading the back of a fantasy novel.
Again, he hadn’t noticed the camera.
Again, somebody had been watching him.
The room suddenly felt colder.
Chat slowed noticeably.
People were beginning to realize these weren’t random internet trolls anymore.
These photos were old.
Personal.
Patient.
Then Kai opened the final message.
Four words.
You’ve never noticed her.
He blinked.
"What?"
The sentence didn’t make sense.
Not immediately.
Then another message arrived.
The typing indicator flashed.
Stopped.
Returned.
Finally:
Ask Luna about Boston.
Silence filled the Discord call.
Kai frowned.
The reaction happened instantly.
Too instantly.
Luna stopped talking.
The chat stopped joking.
Even Kai could feel the shift.
Something about that message mattered.
The typing indicator appeared beside Luna’s name.
Vanished.
Appeared again.
Like she was deleting responses before sending them.
For the first time all night, she seemed uncertain.
And that scared Kai more than any stalker.
Because Luna always had answers.
Always.
"Kai."
Her voice returned quietly.
He stared at Discord.
"Yeah?"
A pause followed.
Not dramatic.
Not manipulative.
Just... hesitant.
Which somehow felt stranger than anything else.
"Do you trust me?"
The question landed heavily.
Not because of what it meant.
Because of who asked it.
Hours ago, Kai would’ve laughed.
Hours ago, the answer would’ve been obvious.
Now?
Now he wasn’t sure why the answer was still obvious.
The photos bothered him.
The messages bothered him.
The fact that Luna seemed to know things she shouldn’t bothered him.
The fact that she somehow always appeared exactly when he needed someone bothered him too.
And yet...
When things got scary, when things became genuinely overwhelming, his first instinct was still Luna.
Not Derek.
Not chat.
Not the police.
Luna.
That realization sat heavily in his chest.
Because it should’ve terrified him.
Instead it felt comforting.
Which was probably worse.
Before he could answer, the television suddenly turned on.
The apartment filled with light.
Kai nearly jumped.
The screen flickered once.
Twice.
Static flashed across the display.
Then disappeared.
A video feed replaced it.
Grainy.
Black-and-white.
Security camera footage.
The angle looked familiar.
Painfully familiar.
Kai stepped closer.
His stomach dropped.
The camera was showing the hallway outside his apartment.
The actual hallway.
His hallway.
Live.
The timestamp in the corner confirmed it.
A live feed.
The chat instantly exploded.
RottenLasagna77:
HOW
ChairViolence:
WHO HAS ACCESS TO THAT CAMERA
GoblinMortgage:
NOPE
NOPE
NOPE
The hallway looked empty.
For several seconds, nothing happened.
Then movement appeared at the far end of the corridor.
A figure stepped into frame.
Everyone watching froze.
The person stood completely still.
Too far away to identify.
Too dark to see clearly.
The image quality wasn’t helping.
Just a silhouette.
Watching.
Waiting.
The figure slowly raised a phone.
At that exact moment, Kai’s phone began ringing.
The sound echoed through the apartment.
Nobody spoke.
Not chat.
Not Luna.
Not Kai.
The caller ID displayed a name.
Not a number.
Not Unknown.
Not Private Caller.
A name.
One word.
Kai.
His own name.
Displayed as the caller.