Urban loneliness is strange. Despite being surrounded by people who could potentially make our empty lives whole, most of us are stuck dining alone. We are so incredibly awkward about our need for people that when we get a glimmer of hope in finding someone, we cannot refocus our gaze on anything else. In James Sweeney’s “Twinless,” two men bond with each other after meeting at a bereavement group that is catered to people who have lost their twins – both of them craving for the oneness in someone who is an exact copy of them – someone who understands the DNA that propels them to be who they are. 

Dylan O’Brien plays the first set of twins Rocky and Roman. The narrative is focused on Roman – a big-old softy who is intellectually challenged and gets on the edge when pushed to see just how transparent his personality is. Rocky’s death has left a big hole in his life and he is only just realizing how much he needs him in his life. To some extent Roman blames himself for not being in touch and appreciative of Rocky’s sexuality – a queer man who later grew out of their brotherhood and was unanimously loved and looked up to by everyone in the art scene. 

The other set of twins – the more secretive ones are played by director and writer James Sweeney himself. This one is seen through the eyes of Dennis, who seems to be intellectually superior to Roman, but quickly finds some common ground to hang out with. Beyond their shared trauma of losing the twin, the two of them don’t have much to go about, but their need for each other is established with a great, assured touch. Director Sweeney is also more interested in throwing the narrative curveball right at the start of the film, making him dabble in genre shifts within sequences. It comes to me as a great surprise that the director who is only 1 film old does that with great elan. 

Twinless
Dylan O’Brien and James Sweeney appear in Twinless by James Sweeney, an official selection of the 2025 Sundance Film Festival. Courtesy of Sundance Institute | photo by Greg Cotten.

After his directorial debut in the 2019 film “Straight Up” another wildly plausible look at the relationships that we forge to satisfy our own confusions; “Twinless” is a great example of how to do a second feature. While the 2019 film was a fun, OCD-drenched first cry for a talented filmmaker, the new film sees him use his talents in a more compact and unusually accurate way. The technical tricks that I remember “Straight Up!” for sometimes overpowered the narrative itself, making it feel more like a spectacle that was designed to please rather than a story that has the power to blow you over. “Twinless” fixes a lot of the issues I had with his debut, with the tricks coming into play only when the director needs them. 

This allows his writing and narrative to flow in all sorts of directions. Some of the choices made by the filmmaker are baffling, and feel incredibly problematic and dangerous, almost leading towards derailing the story. However, Sweeney needs to be lauded because he always deals with them with superlative control. It’s impossible to describe the film’s darker turns without spoiling the central conceit, but it’s safe to say that the film knows how needy we are as people who live in a day and age where everything is out in the open. The film understands our urge to truly connect with people, sometimes comes at the cost of being dishonest, not just with them, but to ourselves. 

With Dylan O’Brien’s fascinating dual turn, “Twinless” thus becomes a darkly comical look at co-dependency. One that is constantly surprising, for it holds the ability to be funny, tragic, and moving – sometimes even in the same breath. 

Read More: Hal & Harper ‘Sundance’ Review: Cooper Raiff’s Charming Family Drama Sneaks Up on You When You Least Expect It

Twinless (2025) Movie Links: IMDb, Rotten Tomatoes, Letterboxd
Twinless (2025) Movie Cast: Dylan O’Brien, James Sweeney, Lauren Graham, Aisling Franciosi, Tasha Smith, Chris Perfetti, Susan Park
Where to watch Twinless

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *