Slamming his bedroom door behind him, Ethan thumbed the receive key. Last night and this morning he'd left umpteen grovelling-ly apologetic messages and texts for Maya, and now...
"Hello!" he bellowed. But when he heard who it was - or rather, who it wasn't - all the excitement and energy drained from his voice... "Oh. Jenny."
"Wow, that just lowered the bar on 'underwhelmed'," Jenny replied. "And, by the way, you're not exactly my favourite person either. What do you mean by leaving me to sort out the mess on your website?"
"I'm sorry. But the test is running OK now, isn't it?"
"Yes, it is. So, you wanna know about the fix I came up with?"
"Can we talk about it later?"
"Please? And... erm... thanks."
"Thanks? Thanks? Is that it? Heh, gratitude I can do without, but I do expect a chance to gloat about how clever I..."
In the living room of her own home, Jenny stood staring at her phone in amazement. She turned to her brother, Sam.
"He hung up on me", was all she could manage to say.
Where was she? Ethan had heard nothing from her all weekend, and now, as their first class on Monday morning was about to begin, there was still no sign of Maya.
However, finally, as their teacher handed back their homework, she entered. With her eyes fixed firmly on a point above her seated classmates' heads, Maya took her place two rows in front of Ethan.
As soon as the class ended, Ethan was on his feet, determined to talk to Maya before she slipped away. However, as he made for the door, Sam grabbed his arm.
"I wouldn't, if I were you," Sam whispered. He had been trying, unsuccessfully, to talk to a preoccupied Ethan since he had arrived at school.
"What?" Ethan demanded impatiently.
"I wouldn't try to apologise to Maya, right now."
"How do you know...?" Ethan stopped, bemused. He had told no one about his date with Maya, not even his best friend.
"The same way as everyone else," Sam said, holding out his smartphone.
"When even Ethan Tai has something better to do than turn up for a date with you, then you know your social life's in trouble."
Maya must have read the odious Gilbert Chan's tweet - posted along with a photo of Maya alone at the film premiere with an empty seat beside her - more than 20 times.
And each time she read it, she had become more and more angry. Not at Gilbert. Not even at Ethan. But at herself.
Ethan might be good looking and funny, but that wasn't what had taken her down this self-destructive road. No, it was because she'd "sensed" some sort of connection, she had "felt" her and Ethan were alike. But this, she told herself, was it - there'd be no more trusting her stupid instincts anymore.
She had asked Ethan out on a date and he had turned her into a laughing stock. And not once, in the countless voice and text apologies he had left on her phone, had he offered any explanation for his behaviour.
As the school day wore on, Ethan gradually became aware of the attention he was attracting.
However, he couldn't have cared less whether the gossip mongers cast him in the role of clown or villain. He wasn't even interested in wreaking revenge on Gilbert.
Ethan was too full of regret to care about anything except the fact Maya was still refusing to talk to him.
On Tuesday evening at Sam and Jenny's house, Ethan sat staring into space, his laptop closed in front of him.
Across the room, the siblings had been hard at it, running through the reams of tests they had to complete before the launch at midnight on Thursday.
Ethan felt a tap on his shoulder and turned to see Jenny standing over him. "Huh?" was all he could mutter.
Jenny screwed her face up into what she hoped was a sympathetic expression and took a deep breath - this was a bit of an ask for her.
"Ethan, I know things are difficult right now for you, but, after some reflection, Sam and I have come to the conclusion that, in your own best interests, you should... you should..." She stopped and sighed. "You should man up and get over her, you big wuss!" she bawled.
Ethan looked stunned. Jenny turned to her brother, "Sorry but the gagging reflex was about to kick in."
"Look, Ethan, that's not how I would have put it but..." Sam began, before Ethan interrupted.
"No, she's right. You're doing all this for my family and me while I'm just sitting around moping." What had he been thinking, he asked himself.
Since his father had died, his mum had worked impossible hours to help him win a scholarship to an expensive international school and his sister, Sophie, get a place at medical school in Australia. Now Mum was in hospital, her illness surely caused by her efforts.
With not only Sophie's expenses to cover, but their own rent, food and bills - how else was the family going to survive if his website didn't succeed? Grandad's business barely made enough to cover its costs.
Ethan opened his laptop and powered it up. "Thank you, Jenny. That's exactly what I needed to hear."
During the next two days, Ethan grabbed every moment he could to finish the preparations for the launch. And, he told himself, he was going to see Maya at the end-of-term party on Friday night. Then he would explain. Then she would understand.
"We haven't done enough testing," Jenny complained.
Ethan sighed. "It'll be fine."
It was almost midnight and Jenny, Ethan, Sam and Grandad were gathered around an open laptop in the flat on the Ki Lung estate. "Think about all the buzz we've created," Sam enthused. "It's got to be a winner."
Grandad gave him a jaundiced look. "I've seen lots of businesses open. New shops, full of people on day one. But they're not buying, they just come to look. Closed within a week."
Ethan and Sam looked at each other and then back to Grandad.
"This isn't a shop and we're not selling anything, gung gung," Ethan explained.
"Ten seconds," Jenny announced.
Ethan's finger hovered over the "send" key. But what would happen, he wondered. Would the site succeed? Had he been an idiot to entrust his family's future to his unproven idea?
Too late now. He clicked the key. "The site's live."
To be continued next week