"Personal Shopper"
A struggling novelist's side hustle leads to a potential love connection in this sweet, funny romance from Timothy Janovsky, author of NEVER BEEN KISSED.
Hannah says:
When you’re an aspiring writer, desperately hoping to finish and sell your first novel, it’s tempting to think everything will get easier once you land that magical book deal. But as Geoff Mars, the thriller author at the heart of “Personal Shopper,” discovers, that isn’t true. He makes ends meet by working for a grocery-delivery app. He’s still afraid that danger lurks around every corner. And when he unexpectedly hits it off with a hunky customer, he’s still too shy to make a move.
Timothy Janovsky’s delightfully charming debut novel, Never Been Kissed, came out in June, and his second full-length romance, You’re a Mean One, Matthew Prince, is coming just around the corner in October. He gave me alllll the feels with this adorable short story, and I have a hunch you’ll love it, too.
“Personal Shopper”
You can learn a lot about a person from their grocery list.
If they’re ordering canned soup, vitamin supplements, and travel-sized toiletries, they’re the last person you want to sit next to on an airplane ride to Florida unless you’re looking to nurse a wicked cold throughout your entire trip. If they’re ordering packets of hamburger meat, boxes of condoms, and a dozen bottles of margarita mix, it’s reasonable to assume they’re throwing a boozy swingers barbecue you’ve once again not been invited to. Tofurkeys around Thanksgiving tell you which families have gone vegetarian. And when you deliver a turkey to the same doorstep mere days later, you know there are going to be some choice words said across the holiday table as the peas get passed around.
Working for Quick Basket—an app-based grocery concierge service—as a side hustle while drafting my next novel has given me a tiny, electronic wall of windows into the lives of those that rely on me to do their shopping for them. It’s my own version of Rear Window, except less creepy. And murder-y.
At least I hope so…but I can never be too sure. As a thriller writer with Generalized Anxiety Disorder and a sprinkling of social anxiety to boot, my dark imagination can’t help but kick into overdrive whenever a new client pops up in the notification panel, causing me to hesitate. Such as I’m doing right now when I read:
Hello, Geoff! Adam S. has requested goods from your local market. Accept the trip?
I don’t know Adam S. While Paula P., Kelly C., and Lance B., are all familiar regulars, Adam S. has never requested from my local shop before despite his GPS location pinging within my working radius.
Naturally, this leads me down a rabbit hole of lurid thoughts. He could be a shut-in, a hoarder, one of those creeps who lure you into their home to unpack their groceries under the guise of a broken wrist only to rip off the fake cast and lock you in the basement as a hostage or a bargaining chip or...
I drop my head onto the keyboard of my laptop because I’ve done it again—let my anxiety win, spent yet another morning staring at a blank page, willing a sentence—any sentence—to write itself.
My first book, Brewed in Cold Blood, about a cult using a hipster coffee shop as a front for their murderous schemes, came out three years ago. It was a modest success that netted me a small legion of avid readers and left me with a serious case of the sophomore scaries. What if I have nothing original left to say? I’m supposed to be writing the follow-up, Murder by Mocha, but alas, my creativity seems to only extend to creating fake lives for the faceless names in my phone requesting Activia and Craisins.
Despite my predisposed horrendous imaginings which categorically never come true (I rarely even see my regulars, let alone get taken prisoner by them), I can’t stand another second in this desk chair bemoaning my dream career predicated on topping plot twist after plot twist. Without changing out of my writing outfit, which is nothing more than a pair of basketball shorts even though I’ve never played basketball and a dingy Fleetwood Mac tour T-shirt even though I’ve never seen Fleetwood Mac on tour, I hightail it to my local supermarket.
Given the frequency of my visits, both personal and professional, I’m good pals with the staff at Giant in Allentown, Pennsylvania.
“Hey, Geoff!” calls the Gabby, the young cashier. “How’s the writing going?”
“Great! I wrote three whole words,” I call back.
“A new personal record, I bet,” she says with a laugh as I grab a cart and wheel my way through the aisles.
I pick up bananas and English Breakfast tea, halved pecans and a frozen pizza with cauliflower crust. Adam S. must be watching his carbs. Maybe he’s on the keto diet like I am. In the personal care aisle, I notice we wear the same brand of deodorant, but in different scents. He’s Timber with Sandalwood, while I’m Wilderness with Lavender. I sniff his choice and think: That’s nice. Maybe I should switch.
When I go to grab a specific brand of zero-sugar yogurt, I notice they’re all out of blueberry. As someone with social anxiety even when it comes to texting, this is the worst part of the job—having to message the client in the secure chat window if a substitute is okay—but I do it because otherwise my star rating could go down. That would mean possibly fewer jobs, fewer regulars, fewer chances to procrastinate my writing.
There is no blueberry. Would peach be good?
While I wait, I pick up the oat milk and the brown eggs, and by the time I’m circling back to the yogurt, there’s a response:
😟😟😟 I’m not peach’s biggest fan
Judging by that extremely unhelpful answer and the multiple emojis, I’d say Adam S. is relatively young compared to my twenty-seven years. He’s probably some kid home from college whose mom asked him to do the shopping, but instead he went this route. Lugging the task off on me.
How about vanilla? I send back.
Too plain, he responds, and I’m flustered. Most of these exchanges end in a client agreeing to the replacement or canceling the item altogether.
I’ll cancel the item, I write back, but then he says: Just surprise me. 😊
So, I make the decision to purchase my own favorite brand and flavor, check out with my Quick Basket debit card, and drive to his condo on the nicer end of town.
I ferry the bags up the front walk, ready to ring the bell and dash away before I can be roped into any kind of conversation. Quick Basket was my therapist’s idea. “It’s a good way,” she said, “to unshackle yourself from your desk and engage with others.” While I agreed at the time, given the financial benefits, I realized quickly that this was a Herculean test for my aversion to talking to strangers.
That aversion comes on strong when a tall, brown-haired man swings open the first of two front doors and waves. From behind the glass pane of the storm door, he’s wearing the wardrobe equivalent of a mullet. Business on top, party on the bottom: a powder-blue dress shirt, a tie, and matching blazer paired with sinful gray sweatpants and no socks.
The outfit may be odd, but his face is anything but. A clean-shaven, strong jaw. Full lips that unfold into a smile that is both goofy and sexy. Light eyes that dazzle behind designer glasses. He’s... hot.
I hike up my jaw enough to hand him the bags as he steps out onto the welcome mat, which reads: I’M HERE. I’M QUEER. KNOCK LOUDLY (I’m blasting Cher). It spurs a laugh out of me. Admittedly, a hopeful one. That aren’t many queer men in the dating pool in Allentown. Especially not smokin’ hot ones like Adam S.
Adam S. looks down before saying, “Oh, yeah, that. An old roommate left that here. Couldn’t bear to part with it.” My hopeful laugh dies off when he catches my eye and I register what he’s saying. “Anyway, this is my first time using Quick Basket, so I don’t really know what protocol is. I saw you on the Ring cam and just...” He gestures to nowhere in particular. “Yeah.”
“No worries,” I say, passing him the first bag. “I figured when you sent all those emojis. Well, first, I figured you were a teenager.”
“I figured you were a bot, so...” He rubs a hand on the back of his neck, causing his bicep to bulge and knocking his glasses slightly askew.
“Nope, not a bot,” I say.
“And I’m not a teenager. I guess we both fell prey to the old saying about assumptions and how they make asses out of everyone.”
I laugh politely, handing off another bag of groceries.
“Do I know you from somewhere?” he asks abruptly, taking off the glasses to get a better look at me.
His eyes, fixed firmly on me, are a dreamy seafoam green, and I do my best not to swoon as I choke out, “I don’t believe so?”
“Are you sure?” he asks. “You look so familiar.”
I’m about to say that maybe he knows me from the apps, one of the many profiles I’ve created over the years during a wave of self-confidence, then deleted in a tsunami of self-doubt. But now that I know the mat’s not his, I highly doubt that. All I do is shrug. “Maybe I just have one of those faces.”
“Maybe, but it’s a good ‘one of those faces,’” he says with a sincere smile just as I pass him the last bag. Our hands brush, my body overloads with sparks from the compliment, and somehow, we both end up losing grip of the shopping bag. Out tumbles all the products I painstakingly collected and bought this morning.
“Sorry!” I cry, scrambling to make sure nothing cracked or leaked.
He grabs and inspects the label on a stray yogurt that has rolled away and hit his foot. “Mixed berry,” he says happily. “What a nice surprise.”
“I hope you like it. It’s a different brand.” I don’t know why, but I’m still nervous and tingly after his compliment.
He smiles. “I’m sure I will. I need to get back to work, but thanks.” Before I get back in my car, he calls, “I’m going to figure out where I know you from!”
“Good luck with that!” I call back and then drive away, smiling because an interaction with a stranger didn’t make me shut down for once. And maybe partially because he was handsome and complimented my face.
Sure enough, by next week, he’s figured it out.
His order chimes in at the same time of day while I’m treating myself to a snack. I accept it (having written at least a few hundred words by that point), smiling to myself over the fact that he reordered the mixed berry yogurt, the same flavor I’m presently eating. This shouldn’t tickle me, but it does. A lot.
Again, I don’t get a chance to ring the bell because he’s already there waiting, but in a pink shirt this time and different (yet equally sinful) gray sweats. “I was hoping it would be you!” he says, beaming.
Which frickin’ makes my heart flutter like I’m fifteen again. “Here I am.” I spread my arms wide, each wing draped with multiple bags.
“Hold, please.” He disappears, then returns holding a copy of my book. I don’t know how to react at first. “This is you. Geoff Mars!” He’s almost breathless with excitement as he points to my author headshot on the flap of the hardcover.
“It is,” I say, fighting off the imposter syndrome I always feel when someone recognizes me for my writing.
“Whoa. This is—whoa,” he says, clearly stunned. “I work in tech. Remote systems analyst. My days can get rather predictable, but your book, damn, I loved it because I never saw that twist coming. Thrillers are exactly what I need after a long day. Yours is one of my favorites.”
“Oh, that’s very kind of you,” I say bashfully.
“Your bio said you were from Pennsylvania, but I didn’t realize we were practically neighbors,” he says, still awed. “What’s a talented writer like you doing delivering groceries? Are you working on anything new?”
“Trying to,” I admit. The ghost of my grueling draft breathes down my neck. “I just do this on the side.”
“Well, you’re quite good at it,” he says, then clarifies. “Both the writing and the shopping.” I melt under the heat of his kindness. Then, his phone rings. “Ah, dang it. I gotta take this. Same time next week?”
I nod. “You got it.”
As I drive away, I realize that I’m looking forward to it.
Our porch conversations become routine. I coast through the grocery store on Cloud Nine, humming to Maroon 5, dancing through the freezer aisle. Each trip takes less and less time because I know where all of Adam’s favorites are. The deodorant and the tea. The toothpaste and the pasta.
On trip three, he asks: “Is it weird that I kind of miss grocery stores?”
“Not at all,” I say. “Grocery stores are a unique kind of magic.”
“I don’t even know how long it’s been since I’ve properly wandered the aisles of one,” he says. “My old roommate used to do most of our grocery shopping. At work, I’m responsible for an entire system and if senior management needs an immediate fix, I’m the only person trained to handle it. Nine-to-five often ends up being nine-to-eight or later, so it doesn’t grant me much free time for errands.”
“That sounds taxing,” I say.
“It is, but I like it. It’s a lot of planning,” he says. “Probably like you are with plot.”
“Oh no, I’m more of a pantser.”
His eyes go wide. “Should I start wearing a belt around you?”
A laugh spews out of me. “No, sorry. That’s writer-speak. It means I plan little in advance, and then I go back and edit. Besides, you can’t wear a belt with sweatpants.”
“Ah, you shouldn’t have said that. Whenever anybody tells me I can’t do something, I make it my mission to prove them wrong,” he says so damn charmingly.
So, on week four, I find him on the porch in a pair of joggers and a black leather belt. Looking downright ridiculous, but against all odds, still hot. “Have I proved you wrong?” He laughs at himself. I love a man who can laugh at himself.
“Yes, but only in the sense that you can wear a belt with sweatpants. But should you?” I ask. “Absolutely not.”
This time, he asks me to help bring in the groceries, and since I’m ninety-eight percent certain at this point that he doesn’t plan to chop me up into tiny bits and stuff me in a suitcase, I agree. It’s a bigger order than usual, and his condo is so clean and spacious. Cream-colored walls and comfortable-looking furniture.
As I set some bags on the island, he tells me about the app-based game he dreams of developing and designing one day when work slows down. “I want to make a choose-your-own adventure game for adults. Why should kids get to have all the fun?”
“What kind of adventure?” I ask.
He grows a little shy. “A thriller, probably. But with comedic elements. Like your book!” The fan in him comes out again, and it makes my stomach do a funny, little dance. “I could never live up to you, though. I’m good at code, bad at writing.”
“Maybe I could help,” I say, thinking maybe this would be a good way for us to bond.
“Really? You’d be interested in that?” he asks.
“Sure. I know some writers who draft stories for apps,” I say. “It could be fun.”
By week six, we’re brainstorming story titles and characters during our brief interactions. We are so attuned to each other that I’ve even begun dressing up in polos and dressy-casual sneakers. Checking myself out in the mirror before leaving. Spritzing on the cologne I haven’t worn since the poorly-attended launch for Brewed in Cold Blood.
“Did you go on a shopping spree last week?” Adam asks one morning as I drop off the mixed berry yogurt he’s been buying loads of. I notice Adam also trades the sweatpants (sadly!) for well-tailored slacks. His hair gets combed, elevating his handsomeness. Is this change for me? I can only hope.
Purely for his appreciation, I shrug. “Just fished some stuff out of the back of my closet, is all. Needed a change.”
He grins, peeling the foil off the top of one of the yogurts. “You look cute.”
I fake a grimace before telling him that I have the perfect setting for our app: “A grocery store. I was shopping today and thinking about how Peter, our lead, could be an overnight stocker who witnesses a murder.”
“Behind the deli counter!” Adam jumps in enthusiastically and then walks it back. “Sorry, I just think there’d be the most murder weapons back there. Cleavers and slicers and whatnot.”
“No, you’re right,” I say, a bit excited that he may have the same dark imagination I do. “That could definitely work. See? And you said you were bad at this.”
“Believe me, I still have plenty to learn.”
Taking on a slightly flirty tone, I say, “Well, I’d be more than happy to teach you.”
I can’t say for certain, but I think (I hope) he blushes.
It’s week nine when I think: Do it. Ask him out. He may say no. He may be straight. But if you don’t ask, you’ll never know.
I walk to the front door on wobbly legs, plastic bags swishing and shaking. Except Adam isn’t there right away like usual. I have to ring the bell and even then, I have to wait. Finally, Adam appears, seemingly frazzled.
“Geoff! Hi. Thanks.” He takes the bags in a hurry.
Too pepped-up to put it off, I say nervously, “Hey. Listen, I’ve been meaning to ask you something...”
“Me too!” Adam jumps in, brightening a bit.
“Oh, really? Uh, do you want to go first?” I ask. Because compared to my crime-solving characters, I’m an absolute coward.
He brushes his hands on his thighs. “Yeah. Would you...” I fill in his sentence before he can spit it out, as I have with many Quick Basket users before. Sign my book? Come inside, so I can go Kathy Bates in Misery on you? But my overriding hope is that he beats me to the punch: Want to go on a date sometime?
“Would you actually be willing to write the script for my app?” he asks. “My vacation days are coming up and our back-and-forth has got me all excited again, so I really want to hit the ground running on it. It would add some real legitimacy to the project if a published author worked on it. We’d work independently, but of course I’d pay you.”
My heart thunks.
I thought his new attire and flirty compliments were leading toward something romantic. Instead, he’s proposing something professional. Disappointment floods through me.
His phone rings in his hand. “Hello? Yeah, I’ll log right back on. I’m just dealing with my grocery delivery guy.”
Dealing with my grocery deliver guy? That stings nearly as much as: What’s a talented writer like you doing delivering groceries? I was willing to overlook it before when I was wrapped up in the newness of him, but now it feels like a slight.
My anxiety shouts what I should have known: You’re not date material. You’re a business transaction.
“I’ve got to run, but—”
“Me too,” I cut him off, hiding my upset. “I have another trip to make. Stay well.”
Without another word, I sprint away.
“Didn’t you want to ask me something?” he calls after me, but I pretend I don’t hear him.
It’s silly, really. Falling for someone over a shopping list.
Guess I need to work on my deduction skills.
This is for the best. I don’t even know him, and I am far too old and far too rational to be harboring a crush.
Over the next two weeks, I decline Adam S.’s shopping requests. Some other Basketer in the area will be happy to pick up the trip. I just can’t handle it.
Because the truth is that Adam’s app idea got me out of my slump. Not only was my draft starting to take off, but I was genuinely excited about the prospect of writing for a new medium. I thought maybe it would be a special project that brought us closer together, but when he mentioned the paid, independent gig, I knew it wasn’t meant to be. It would just be another responsibility. Not the romantic opportunity I was hoping for.
This situation proved that I was seeing what I wanted to see. Writing my own story when I should be writing the one I’m contracted to.
For the next couple weeks, I’m back where I started. Banging my head against my keyboard. Wistfully sighing while eating mixed berry yogurt. Sending off emails to my editor letting her know that all those positive messages I sent her about my progress were misguided. I’m scrapping it all and starting over.
On week three of avoiding Adam S., another newbie, Dana R., puts in an order. I accept because I need the money. So what if I end up in a suitcase this time?
Re-entering the grocery store after a period away is nice. The same cool air-conditioning pumps out. The same familiar songs by Train and One Republic and Beyoncé play on a loop. The same deli manager offers me sample slices of honey-roasted ham that tastes like heaven, even if I’m imagining the fictional gruesome murder that could be set there.
As I’m imagining this, I turn my cart around and spot Adam S. across the produce section. At first, I think I’m imagining this too, but then he waves and lights up with a winsome smile that belongs on a book cover. Even his crow’s feet are charming.
He’s dressed nicely. The cart in front of him his full. From here, I can see two bottles of wine, a box of pasta, and chocolate-covered strawberries.
I wave back and then think about dashing off in the other direction, but I remind myself that I’m an adult who handles his feelings as such. “Hello again,” I say when he’s within earshot.
“I was hoping to see you here,” he says.
“What do you mean?” I ask, confused.
“You’re shopping for Dana R., I assume?”
“How did you know that?” I ask, trying not to pore over the other items I’m now noticing in his cart. Red sauce. Impossible beef. Is he making a meatless Bolognese for date night? Yum.
“Dana R. is my sister,” he says matter-of-factly, and my eyes snap up.
Stupidly, all I can say is, “Oh.” Still not understanding where this is going.
He laughs with a buttery warmth. “You stopped coming around and after some thinking, I realized something. I’m an analyst, which means logic always overrules intuition. Brain over gut,” he says. “And for some reason, I let that bleed into our interactions.”
“What are you saying?” I ask, stepping aside for a woman who’s trying to get to the avocados.
“I’m saying that I finally listened to my gut.”
“And what did it say?”
“It said: You idiot. He was probably going to ask you out, and you ruined it by bringing up your silly app,” he says in a ridiculous British accent.
I’m laughing. “Why does your gut sound like the Queen of England?”
“Because I drink a lot of English Breakfast tea,” he says cheekily. “You would know. You bring it to me.”
“Oh yeah, that’s right.”
“Was my gut right, too?” he asks hopefully. “Were you going to ask me out? I’m not trying to be presumptuous. I just... felt a vibe.”
I nod. “There was, in fact, a vibe.” A smile sneaks up on me.
“Oh good, because instead of emailing your literary agent through the contact form on your website — I thought that would be weird — I asked my sister to place a Quick Basket order so that I could intercept you.” He runs a tentative hand on the back of his neck, which seems to be a habit of his. “Now that I hear it out loud, this is pretty weird too, huh?”
“Yeah, but if you can believe it,” I say, “it’s not the weirdest thing a Quick Basket customer has done.”
His seafoam eyes widen with delight. “That’s a story I’d love to hear. Maybe over dinner?” he asks, timidly glancing down at his cart.
Oh. Those items are for... me. That fifteen-year-old fluttering feeling starts up in my chest again. “Are you... asking me on a date?”
“Depends,” he says. “Are you saying yes?”
“Yes,” I say without hesitation. “Yes, I am saying yes.”
Later that night, all dressed up and excited, I drive the familiar route to Adam S.’s condo. I walk up to the front door with no grocery bags this time, just a bouquet of fresh flowers. When Adam opens the door, looking dashing in both halves of what looks to be a new suit I haven’t seen before, he says, “So glad you could make it. You look amazing.”
I glance down at my old blazer and go to shrug, but instead, I take the compliment. “Thanks. So do you. And it smells amazing.” The scent of rich sauce wafts out from the open door, making me hungry.
“So do these,” he says, graciously accepting the flowers and cutely sniffing them before letting out a little sneeze. “Allergies.”
“Oh my gosh!” I exclaim. “I can take them back if—”
“No, no. I love them. They’re beautiful.” He hugs them to his chest. The wrapping crinkles. “I’ll be fine. I’ll pop a Zyrtec.”
“Sounds like a wild night,” I joke.
After a kind laugh, he asks, “Are you going to come in?”
I go still. “I don’t know, uh… I got anxious all of a sudden. It’s like… I don’t know who we are if we aren’t talking Quick Basket on the porch.”
His instant smile is full of understanding as he extends a large hand to me. “Why don’t you come in, and we can find out together?”
So, I take his hand. This, right here, is one plot twist even I couldn’t have seen coming.

Next week on Heartbeat, get ready for a short story from Jane L. Rosen, author of Eliza Starts a Rumor and A Shoe Story.
Follow Heartbeat on Instagram at @storiesbyheartbeat for upcoming behind-the-scenes sneak peeks at Jane’s story!
Three quick things from Hannah:
I’m neck-deep in revising my next book right now and talking about it in my Facebook group for fiction writers.
I interviewed model/influencer Alexis Ren about her very public split with Noah Centineo and why she’s now keeping her new relationship hidden from her 16 million Instagram followers.
Any Bachelor fans here? I love this story by Elite Daily writer Hannah Kerns on this mess of a season: “How Much Crying Do You Really Need On The Journey To Love?” (If you’re watching, what do you think of this season so far?)
I truly adored this story!
That was lovely. Great job!