The show has topped Netflix charts globally, and it's easy to see why

What does comfort look like in tough times?
Maybe it’s a bowl of warm food. Or maybe, a romantic teen drama that leans into every trope. You don't need to question the logic or ask much; you just need a little aesthetic escape, and if that includes romance, moving friendships and colourful places, then why not?
That’s where XO, Kitty fits in. A spin-off from the To All the Boys I’ve Loved Before universe that had spawned lacrosse field confessions and pocket-spin romances. The spin-off can be messy, yes, but also oddly soothing to watch.
Maybe like the bowl of ramen you need on a rainy day.
XO, Kitty follows Kitty, the youngest sibling from the To All the Boys I’ve Loved Before series, the same girl who once sent out her sisters’ love letters, as she travels to Seoul, South Korea, to be with her long-distance boyfriend, Dae (Choi Minyeong). But on her very first night, she’s thrown off balance when she suspects he has a girlfriend, Yuri (Gia Kim). He doesn’t, it’s all a ruse, but the misunderstanding sets off a chain of self-discovery for Kitty.
As she battles the fallout amid toppling cupcake towers, Kitty begins piecing together her mother’s past while forming new friendships, from Dae’s kind-hearted flatmate Q (Anthony Keyvan) to the initially reluctant Minho (Sangheon Lee), who, as it turns out, falls for her. Not just a little, but a whole lot.
And that's the slow-burn fans have been waiting for, since 2023. And, it served.
Friendships, heartbreaks, crushes, and the dizzying thrill of first loves define the first two seasons, with Kitty finally acknowledging her feelings for Minho, setting off the most romantic, and perhaps most intense, chapter yet: Season 3.
The joy of XO, Kitty Season 3 lies in the joy of an all-consuming romance. A cursory scroll through social media makes that much evident. Fans have long waited for the Kitty–Minho story to unfold in full cinematic glory: Love songs, airport confessions, beachside admissions, and a heartbreak steeped in yearning and angst. And through it all, what stands out is the tenderness, despite the emotional highs and lows, the characters are never needlessly cruel to each other, making the eventual reconciliation all the more satisfying.
Some complain about cringe, but truly, the romantics have spoken. It comforts the heart. Bring back characters who love their girlfriends and boyfriends dearly and aren't afraid to show it. And bring back the joy of warm friendships, the girl gangs and sleepovers, and spa dates. Bring it all back.
And that's what XO Kitty does, with a touch of maturity too, and this is reflected towards the end when Minho and Kitty finally talk to each other after the breakup, and Kitty lets him know too, that she isn’t the only who messed up. Minho quietly asks, “How?” He isn’t accusing; he listens to her as well.
A male leading character who listens? Yes, thank you.
And he gets his reality check later, from his friend Gigi, who lets him know that just because Kitty let him down once, it doesn’t obscure the other million times that she stood up for him.The idea: People make mistakes, and maybe don’t hold them to such high standards that the crash feels so devastating that you can’t even look at the pieces.
And in this respect, truly, for the first time in ages, the romance felt a lot healthier than most teen dramas even if the reason for the breakup was a tad contrived, though Anna Cathcart and Sangheon Lee did pour their souls into it.
And beyond the romance, there are the close knit friendships, too. The Kitty-Yuri dynamic was a pleasure to watch, with both helping each other in every way possible, despite the misgivings of the previous season.
One of the best friendships of the show has been Kitty and Q, and this time, their fight was almost piercing, as Kitty accidentally reveals Q’s questionable secret. Everything spirals out of control and the scene is searing, owing to Keyvan’s stellar acting with the most realistic portrayal of tears and anguish.
Whew, Episode 5 was the most painful one to watch in all three Seasons. You realise that while romance is the heart of XO Kitty, friendship is the oxygen, and never do we want to see Q and Kitty fight again.
XO, Kitty does have its share of flaws and narrative messiness. Some characters are underserved, particularly the radiant Juliana (Regan Aliyah) and Praveena (Sasha Bhasin), who appears only briefly and deserved far more depth. Hopefully, a potential Season 4 corrects that.
The snarky addition of Marius is a welcome one; thankfully, he isn’t painted as an outright villain like Stella (Audrey Hyunh) in the previous season, but there’s definitely more to explore with him too.
That said, the show has clearly grown, and so have its characters—and the actors playing them. These are no longer just drama-swept teenagers; they’re seniors standing at the cusp of real decisions about their futures, and also dealing with the plaguing feelings of inadequacy. Would they ever be enough? And who decides what's enough?
The performances reflect that shift, with a noticeable emotional depth. Sangheon Lee's depiction of heartbreak has come a long way in expressing heartbreak when trust falters, or the restraint he shows in holding back his feelings, afraid of disrupting Kitty’s path.
In the end, XO, Kitty isn't a profound, life-altering romance or sermon on friendship, but it understands something essential: Sometimes, all you really need is the warmth of love, friendship, and the reassurance that even messy feelings can find their way. And that’s where its true charm lies.
Also In This Package