<<set $loops to 0 >><<set $viewedRestart to false>><<set $wifiKnown to false>>
<<script>>
UIBar.destroy();
<</script>>! Here It Goes Again
a timeloop ☕-shop mini-adventure
//by thedeadparrot//
[[Start the story.|Beginning]]<<set $viewedRestart to true>><<set $loops to 1>>You blink your eyes open. You hadn't even realized they were closed. You take a look around. You're back at your table. Bling is still finishing off his croissant. Your heart jumps into your throat as you notice that the man is still at his table. The paperback lays open in front of him as he gazes out of the window. Was it all a dream? A strange fantasy? That doesn't seem so important right now. What does seem important is that you have another chance to talk to your mystery man. You're going to take advantage of it.
[[Okay, you've got this.|Beginning]]<<nobr>>
<<set $biscuit to false>>
<<set $wifiGiven to false>>
<<set $womanCoffee is false>>
<<set $lid to false>>
<<set $napkin to false>>
<<set $loops+= 1>>
<<if $loops > 1 and $viewedRestart is false>><<goto "FirstRestart">><</if>>
<</nobr>><<if $loops is 3>>You blink your eyes open. You have another chance. You can figure this out. You just need to get all the pieces to line up in the right order. You believe in yourself.
<<elseif $loops > 3 and $loops is not 10>>//Okay// you think to yourself. One more try. You can do this.
<<elseif $loops is 10>>The frustration mounts with every time you have to try again, but you aren't one to give up easily. So what if you've seen this same scene play out ten times before? That isn't going to stop you.
<</if>>It is eleven in the morning, and you are sitting in a cafe, and you are staring at the most adorable man alive.
He's sitting on the other side of the cafe, alone, in front of the large windows. The late morning sun catch in his pale blond hair and illuminates the delicate features of his face. For the last hour, he's been engrossed in his book -- a slim paperback novel with a brightly colored cover -- and you've been engrossed in watching him.
Your heart quickens as he finishes the last bit of his pastry, snaps the book closed, and cleans the table in front of him. He's preparing to leave. You are gripped with the sudden, terrible realization that you may never see him again.
You leap to your feet as he slides the book into his backpack. This is your chance. You have to take it.
Your tablemate chooses this exact moment to try to talk to you. "Hey, Tadej, mate," Bling asks. "Do you know the wifi password?" He fiddles with his iPad as a frown creases his face.
<<if $wifiKnown is true>>
<<linkreplace "Tell him the wifi password.">><<set $wifiGiven to true>>"It's 'COFFEE,'" you tell him.
He shoots you a huge grin. "Awesome, thanks," he says.
You try not to breathe an obvious sigh of relief. You love the guy, but you have a more important mission on hand.<</linkreplace>>
<<else>>
You shake your head. You don't know what it is, and you don't care.
<</if>>
[[Go to the register.|Register]]
[[Head for the man's table.|Dog]]
[[Visit the condiments station.|Condiments]]You've been at the register a few times this morning. Not only to get coffee at the counter, but also to sample a variety of different pastries while you stole peeks at your mystery man.
The current line isn't long. The cashier is taking an order and going through payment. If you hurry, you might be able to put in your own order before the cute guy leaves and maybe get the wifi password from the cashier.
<<if $womanCoffee is true>>
The woman from earlier is still engrossed in a conversation with the man with the iced coffee. They might even be flirting, which you think is rather cute. You even feel a little smug for playing Cupid. She's clearly so distracted that she's not waiting to order anymore.
[[Wait behind the current customer.|Get Wifi]]
<<else>>
There is also woman standing in front of you. Her head is bent over a menu. Her brow is furrowed in concentration. Is she in line? You can't tell.
[[Slide in front of her.|Cut in Line]]
[[Get in line behind her.|Wait]]
<</if>>You try to get her attention. Waving your hands. Nudging her shoulder. Clearing your throat in a pointed and insistent fashion. Nothing seems to work. She is so focused on the menu in her hand, nothing else seems to matter to her.
Maybe you might need someone physically bumping into get her to notice what's going on around her, and well, you're not sure if that person should be you.
[[Slide in front of her.|Cut in Line]]
[[Continue patiently waiting behind her.|Continue Waiting]]As you attempt to dodge forward, she looks up. "What do you think you're doing?" she demands.
You blink at her. "Uh, I was just--" you say.
She raises her voice. "I was already waiting here. You can't just cut in front of me."
The back of your neck begins to flush. You can feel the attention of the rest of the cafe shift towards you. "I wasn't--" you protest.
But to no avail. Even the cute guy has turned to look at the commotion, though he's already on his feet with his backpack slung onto his shoulders. He gives you an odd look, and his forehead is creased with a kind of silent judgement. You'll never get his number now.
[[Unless...|Beginning]]You step into the space behind the woman and wait your turn.
The cashier finishes up with his current customer and gives you and the woman a curious glance. She doesn't notice. She's too focused on the menu in front of her.
You fidget, restless, shifting your weight from foot to foot. Your mystery man has finished his packing. You don't have much time left.
[[Slide in front of her.|Cut in Line]]
[[Try to get her attention.|Get Woman's Attention]]
[[Continue patiently waiting behind her.|Continue Waiting]]All you can do is watch and wait from the line, helplessly, as the cute guy pulls the backpack onto his shoulders. He pushes his way out the door and into the morning sunshine, a smile on his face.
The woman in front of you finally notices that it's her turn to order and steps forward. It's too late, though. You've lost your chance.
Your vision gets fuzzy at the edges. The world starts to tilt. Your stomach lurches. You blink once, twice to clear it, but it doesn't help.
[[And then..|Beginning]]<<set $wifiKnown to true>>The person in front of you finishes paying.
You step up to the register. "Can I have the wifi password?" you ask.
The cashier fixes you with a bored, dead-eyed look. "I can't give you the password unless you buy something."
"I've been here for the last hour," you protest. "You sold me a cheese danish." You gesture in the direction of your table, which is still piled high with the detritus of plates and cups from your various purchases.
"I can't give you the password unless you buy something," the cashier repeats with the same patient monotone.
You sigh and order yourself a cookie. Your mystery man has packed up all his stuff. His backpack is on his back. He's on his way out the door. But you are getting closer to finally getting to talk to him. You can feel it.
"The wifi password is 'COFFEE' by the way," the cashier says.
[[You take a big bite of the cookie. And when you blink...|Beginning]]You stride purposefully towards the table across the room. You have your target in sight. You refuse to let him get away.
That is, until a large, fluffy, white dog bounds over to say hello. Its tail wags, and it noses at your legs in a friendly way.
"Oh, sorry about him," the owner says. "She just really loves meeting new people."
Yes, you have a goal in front of you, but well, there's a friendly dog in front of you, and you //have// to stop and give her a pet. That's one of the reasons why you like this place. It has a relaxed, friendly vibe, and you love watching and meeting new dogs, even if you are more of a cat person. <<if $biscuit is false>>They even have a tin of dog biscuits at the condiments station.<</if>>
You give the dog a few head pats and a few scritches. She slobbers all over your hand. You keep one eye out on your target. He is slowly stacking his used mug on top of his plate. You still have time.
<<if $biscuit is false>>
As you get up, the dog gets even more excited. She dodges around your legs, tangling her leash around your ankles. You try to extract yourself, but you only seem to get more tangled.
When you look up again, the man is at the door, entirely uninterested in you or your plight. You take a step forward, reckless in your determination.
But your foot is still caught up in the leash, and you go crashing to the floor. Ugh. Only your shoulder and ego are bruised.
[[Even then, everything goes dark...|Beginning]]
<<else>>
<<linkreplace "Offer the dog the biscuit.">>After you're done petting, you offer the dog the treat. She gets so distracted by it, she loses interest in you immediately, which is disappointing, but fair.
<<if $wifiGiven is false>>
Just as you're going to continue on your way, Bling comes up behind you. "Oh wow, who have you got here?" He leans down to greet the dog by offering up his hand. "Tadej, aren't you going to introduce me to your new friend?"
"But I--" you protest, but it comes out weak. You've always had a hard time saying "no" to Bling.
"Nonsense. I'm just glad I went looking for the wifi password and found you here instead. Always up for meeting new dogs." The dog lets Bling pet her and even flops over for belly rubs. She didn't do that for you, and you're unsure if you find that insulting or not.
"I will just--" you try again. You can feel the clock ticking down, one second after another.
But Bling somehow manages to rope you into a conversation with the owner about his own dog at home. You don't even have a dog. You don't know what you're still doing here.
You take another glance at the table by the window, and the mystery man is gone. Again. You sigh.
[[You close your eyes. One more time around...|Beginning]]
<<else>>
You take a quick look over your shoulder. Bling is still busy with his iPad. Good.
[[Continue on your way.|Meet Jonas]]
<</if>>
<</linkreplace>>
<</if>>You approach the condiment table. There's a selection of lids for paper cups, a jug of milk, a tin of sugar, a pile of napkins. Right next to them is a glass jar filled with dog treats.
<<if $viewedSpill is true>>Wait, you know what's coming next. If you don't act fast, you're going to get a shirt drenched in iced coffee.
[[Step to the side.|Dodge]]
[[Nudge the chair a little bit to the left.|Nudge]]
<<else>><<set $viewedSpill to true>>As you consider your options, you hear a shout. "Oh shit!" someone yells behind you. You turn just in time to see someone crash into a chair. The cup in his hand goes flying through the air.
You have reasonable reflexes, but you still don't manage to get out the way in time. The iced coffee crashes into your chest, drenching your t-shirt in cold, brown liquid.
The former owner of said cup of coffee runs up to you. "I am so, so sorry," he says. He grabs a fistful of napkins and starts trying to dab at the growing stain.
You try to wave him away. It's only somewhat successful. He keeps up a stream of apologetic words and seemingly empties the entire pile of napkins.
When you finally get a moment of freedom, the table by the window is empty, and the cute guy has vanished into thin air.
[[You do your best to smile through it, but...|Beginning]]
<</if>>You shift to the side, and as the man yells, the coffee goes flying safely past you and onto the floor. Whew. You look over the table again. What next?
<<include "Avoided">><<set $womanCoffee to true>>You move the chair out of the way, hoping this means you won't have to deal with any coffee incidents at all. After a moment, you hear the man apologizing profusely to an annoyed woman who was standing near the register. You let their argument fade into the background as you look over the objects in front of you.
<<include "Avoided">><<linkreplace "Grab a dog biscuit.">> <<set $biscuit to true>>You reach into the jar and pull out a dog biscuit.
<</linkreplace>>
<<linkreplace "Grab a lid.">><<set $lid to true>>You lift a lid off the stack.
<</linkreplace>>
<<linkreplace "Grab a napkin.">><<set $napkin to true>>You yank a napkin out of the dispenser.<</linkreplace>>
[[Go to the register.|Register]]
[[Head towards the man's table.|Dog]]<<if $napkin>><<set $objectName to "napkin">><<elseif $lid>><<set $objectName to "lid">><<else>><<set $objectName to false>><</if>>
You reach the doorway just as the cute guy does. He blinks in surprise at you, owl-eyed and curious. For a moment, you're tongue-tied and unsure of what to say.
"Hi," you manage to get out after a second. You put in so much effort to get here. You can't let all of that go to waste.
"Um, hello," he says.
"I'm Tadej," you add, sticking out your hand for a handshake.
He takes it. He has a nice handshake. Not too hard. Not too soft. "Jonas," he says.
You like that name. It fits him. You say, "I saw you were reading, but I couldn't tell what book it was."
"Oh," Jonas says. He flushes slightly. Somehow, this only makes him more adorable. He drops his voice. "It's the latest Colleen Hoover, I know they're kind of trashy, but they're fun, you know?"
You have no idea who Colleen Hoover is -- most of your own reading tends to be historical non-fiction -- but it delights you to know that he has guilty pleasures. "We should all have room for fun in our lives," you say. That is the principle you live your life by, after all.
He smiles at you, a small, secret thing, like he's pleased with your approval. "I agree," he says.
You clear your throat. It's now or never. You have never passed up an opportunity to shoot your shot in your life, and you're not going to stop now. "I know this is a little forward, but could I get your number?"
He takes one long, agonizing moment to respond. "Okay," he says.
You realize all too late that you left your phone back at the table with Bling. "I don't have my phone on me," you say.
He laughs, creasing the lines near his eyes and mouth, and then he fishes a pen out of his pockets. "That's fine," he says. "I can still give it to you anyway."
<<if $objectName>>You offer up the $objectName you grabbed from the condiment station. He takes it and scrawls "Jonas" and then his digits onto it before handing it back. You clutch it in your fingers. This is precious cargo.<<else>>He takes your hand, turning it palm down. You feel all your nerves light up at the touch. He writes his name and number on the back of your hand. It'll probably last for the rest of the day, at least. You'll be able to look down and see the reminder of this exact moment until it fades.<</if>> "Thanks," you say.
"It was nice meeting you," Jonas says. He slides the pen back into his pocket. "Send me a text sometime, okay?"
You nod, probably fast enough that you look slightly insane, but it's hard to care when you //have his number//.
And with that, he pushes his way out the door and once again into the morning sunshine.
You blink once, twice, after he leaves. You want to make sure the world stays in place and stable. It does.
Bling comes up to you. "Let's get out of here. The wifi in this place sucks," he says. "Who was that guy?"
"Jonas," you say, letting the name roll around in your mouth.
"Uh, okay," Bling says, confusion written all over his face. He doesn't understand at all, but then again, how could you possibly explain what had just happened to you here? It doesn't even seem worth it to try. "Sure."
"We can go," you say, curling your fingers protectively around your prize. You got Jonas' name and number, after all. As far as you're concerned, you've already won today.
[[The End.|Ending]]!!End Notes
This was built with [[TweeGo|https://github.com/tmedwards/tweego]] and [[Twine|https://twinery.org/]].
Always liked the idea of building interactive time loop fic, but the idea of building a big one with lots of big feelings is very intimidating, and the idea of building a small one with smaller feelings was less so.
Made for the [[Tour de France Fanworks Classification 2024|https://www.tumblr.com/wtfanworkclassification/754507583486836736/announcing-the-tour-de-france-fanwork]] and the prompt 'AU: different first meeting.'
[[Comment/Kudos on AO3|https://archiveofourown.org/works/57229201]]
[[View source code|https://github.com/thedeadparrot/fic-projects/tree/main/first-meeting]]
<<link "Full Restart">><<script>>Engine.restart();<</script>><</link>>