Category Archives: Reviews

Movie Review: Happy Patel – Khatarnak Jasoos (2026)

2 Stars (out of 4)

Watch Happy Patel: Khatarnak Jasoos on Netflix

Comedian and actor Vir Das’s maiden directorial venture Happy Patel: Khatarnak Jasoos (“Happy Patel: Dangerous Spy“) is underdone. Even with directorial assistance from Kavi Shastri and a screenwriting co-credit for Amogh Randive, this movie about a wannabe spy with deadly culinary skills needs more seasoning.

Das stars as the titular Happy Patel. The movie opens when he is a small child in India. His mother works as a maid for two white British spies — Roger Smith (Andrew Sloman) and Sebastian Paisley (Simon Feilder) — who also happen to be a gay couple. When Happy’s mom is accidentally killed in a shootout between the spies and Goan mafia don Jimmy Mario (Aamir Khan), the Brits take Happy back to England and raise him as their son.

The men never tell Happy about his origins. He doesn’t even know that he’s Indian. Happy wants to be a spy like his dads, but he’s more adept at cooking and ballet than espionage. However, he gets the chance to prove himself when MI7 director Kenneth Mole (Benedict Garrett) sends Happy to Goa to rescue a British scientist who’s been kidnapped and forced to work at a company that makes fairness cream.

But this isn’t a routine mission. Mole has some sort of connection to the owner of the fairness cream company: a donna named Mama (Mona Singh) who is the daughter of Jimmy Mario, who also died in the shootout that killed Happy’s mom. This is all a plan for Mama to take revenge on the son of her father’s killers.

I’m vague about the connection between Mole and Mama because I don’t really understand it. That subplot is used to make reference to British colonialism and whiteness, but it feels shoehorned into the story. I suspect the filmmaking team had a fully-formed subplot in mind, but it doesn’t translate to the screen. That’s a persistent problem in the film, unfortunately.

Happy gets to the town of Panjor in Goa and stays in the same house where his dads lived and his mother was killed, but he doesn’t learn a single thing about his mom while he’s there. It’s a weird omission. His local contacts are a teenage wiz kid named Roxy (Srushti Tawade) and a strange guy named Geet (Sharib Hashmi).

Soon after he arrives, Happy falls for Panjor’s best dancer, Rupa (Mithila Palkar). When Rupa is introduced with that label, we know one of two things: she’s either going to be a great dancer or a terrible dancer. Even with only two options, the answer is still a surprise. Rupa is terrible, and her dancing is the funniest part of the whole movie.

That’s not just because of the way Palkar depicts Rupa’s dancing deficiencies (though she deserves a lot of credit for hilarious execution). It’s because this is one of the few surprising moments in the film. Surprise is arguably even more important to comedies that it is to horror movies, but there’s very little of it in Happy Patel. Not in the way jokes are setup, how shots are edited, or in the way the plot unfolds.

As a result, Happy Patel is more amusing than it is laugh-out-loud funny. It’s nothing like the obvious sources of inspiration for a spy comedy: the Austin Powers movies and Leslie Nielsen’s Naked Gun films, which are loaded with jokes. Happy Patel relies on wordplay humor that either doesn’t translate from Hindi to English or just isn’t that funny. Imran Khan’s cameo is a baffling letdown.

It’s a shame since Palkar and Singh make the most of the material they’re given. The film deserves a ton of credit for putting so many women in plot-critical roles. The whole town of Panjor could’ve been a character in its own right, had it been more fully developed. As it is, Happy Patel feels more like a Saturday Night Live sketch with a decent skit premise that isn’t robust enough to warrant a feature-length film.

Links

Movie Review: Hamlet (2025)

3 Stars (out of 4)

Hamlet opens in US theaters April 10

Director Aneil Karia’s new version of Hamlet re-imagines Shakespeare’s tragedy as a modern-day business succession drama. Riz Ahmed’s bold turn as Hamlet enlivens the drama for a contemporary audience, even as it retains the play’s original dialogue.

Karia’s interpretation of a screenplay by Michael Lesslie sets the story in present-day London. Hamlet (Ahmed) returns home from abroad for his father’s funeral. His father was the owner of a firm called Elsinor, a wealthy construction company that builds high-rises. The night of the funeral, Hamlet’s paternal uncle Claudius (Art Malik) announces that he’s going to marry Gertrude (Sheeba Chaddha): his brother’s widow and Hamlet’s mother.

The wedding news comes as a shock to Hamlet, and he’s even more troubled by the fact that no one seems bothered by it but him. We don’t know where Hamlet was before his father died or how much he knew about his condition, but multiple people point out that his dad had been ill for several months. His father’s mattress still bears his silhouette in the form of a deep indentation created over his long convalescence. Everyone else has had time to mourn him and make plans for what comes next. Hamlet is the only one who experiences all this as breaking news.

In this fragile state, drugs and booze are the last things Hamlet needs, but his friend Laertes (Joe Alwyn) takes him out clubbing. Buzzing and overstimulated, Hamlet stumbles into an alley and sees the ghost of his father (played by Avijit Dutt). The ghost leads Hamlet to the top of one of Elsinor’s buildings under construction where he reveals that he was murdered by Claudius via poison dropped into his ear.

Hamlet believes the ghost and intends to prove his uncle’s guilt. The only person he confides in is Ophelia (Morfydd Clark), his former flame and Laertes’ sister. She’s concerned about Hamlet’s increasing agitation but agrees to keep his supernatural encounter a secret.

Thus Hamlet sets about trying to confirm his uncle’s guilt via a convoluted plan that involves a very direct piece of performance art at the wedding. It isn’t until the night of the wedding that Hamlet finally gets to speak privately with his mother, even though she’s been shooting him pointed looks that communicate variations on “I need to talk to you” and “We’ll talk about this later.” Chaddha is an elite talent when it comes to sending messages with her eyes.

The conversation goes poorly and comes too late to prevent the tragedy that follows, particularly when family advisor Polonius (Timothy Spall) — father of Ophelia and Laertes — interrupts mid-argument. The violent climax to the story is visceral and shocking.

Lesslie’s screenplay cuts out some major parts of the play, including Hamlet’s “Poor Yorick” speech and the characters Rosencrantz and Guildenstern. Anyone who didn’t know about them before won’t miss them, as their absence makes for a quicker narrative pace and keeps the film’s runtime under two hours.

The famous “To be or not to be” monologue is shot in a really inventive way, with Hamlet delivering it while driving. The screenplay ads a nice contemporary hook by blaming Elsinor Corporation for displacing homeless people, a variation on the “something rotten in the state of Denmark” line from the play. Hamlet only realizes this after he returns home, a further indictment that he’s been neglecting his duties as heir to the family business.

Ahmed vibrates with intensity the entire film, effectively conveying Hamlet’s sense of disconnection and his declining mental state. The casting all around is solid, with Chaddha being an inspired choice for Gertrude. Even Malik is quietly good as Claudius, who’s trying to give off “just a regular guy” vibes after killing his brother and marrying his wife.

My biggest complaint about Hamlet could be due to the fact that I watched it on a digital screener and not in a theater or on Blu-ray, but it’s worth mentioning in case it’s simply how the audio is designed. It’s very hard to hear the dialogue at times. There’s a constant murmur of background noise — whether its music or chatter — that’s meant to indicate that locations are busy and populated. In order to have a private conversation under these conditions, Hamlet whispers a lot, which is hard to hear over the background noise. Not to mention, these lines were originally written to be delivered from a stage by an actor without a microphone (because they hadn’t been invented yet). They weren’t meant to be whispered. I wish I didn’t have to spend as much time adjusting the volume as I did.

Links

Movie Review: Ikkis (2026)

4 Stars (out of 4)

Watch Ikkis on Amazon Prime

Ikkis (“Twenty-one“) is the best demonstration of filmmaker Sriram Raghavan’s skills yet, despite it being quite different from the other movies in his oeuvre. Though it lacks the physical danger of his earlier thrillers like Johnny Gaddaar, Badlapur, and Andhadhun, Ikkis is still built around a main character’s central tension: am I going to break his heart?

The title refers to the age at which Indian Army 2nd Lieutenant Arun Khetarpal (Agastya Nanda) died in the waning days of the 1971 India-Pakistan War. Thirty years later, Arun’s framed photo hangs on the wall of a house in Lahore, Pakistan belonging to Brigadier Jaan Mohammad Nisar (Jaideep Ahlawat). The photo’s curious existence is made even more intriguing when Nisar hides it before his houseguest arrives.

That guest is Brigadier Madan Lal Khetarpal (Dharmendra), Arun’s father. The elder Khetarpal grew up and studied in Pakistan before Partition drove his family to move to India. He returns for a class reunion and a visit to his hometown, staying with Nisar, his wife Maryam (Ekavali Khanna), and their adult daughter Saba (Avani Rai).

The rapport between the family and their guest is immediate, and Khetarpal is glad to have their company at the reunion. He also speaks freely about his own family, including Arun. Through Khetarpal’s reminiscences, we get to know about his first-born son, and we see Arun’s life in flashbacks.

Though Ikkis is based on a true story, this isn’t a hagiography. During his officer training days, Arun is a capable leader, but he is just as bad at anticipating consequences as most 21-year-olds are. He struggles to balance his military duties with his new romantic relationship with medical student Kiran (Simar Bhatia). He follows rules to a fault.

That’s why Arun’s death in combat has always been a mystery to his father. The official report states that Arun — who was assigned to be a tank commander when sent to the front in 1971 — turned off his radio and disobeyed orders in his final moments. That doesn’t sound like the Arun his father knew.

Questions linger over Ikkis: Why does Nisar have a photo of Arun? Why is he hiding it from Khetarpal? What really happened to Arun on the battlefield? The answers are decades old and pose no immediate danger, but they create a tension that propels the story forward, building as Nisar’s fondness for the elderly Khetarpal grows.

That affection is what makes the film so special. This is Dharmendra’s last movie, and his tremendous talent shines through as a father searching for something to finally help him make sense of his son’s death. Ahlawat deftly portrays the internal conflict between Nisar’s respect for Khetarwal and his guilt at keeping secrets from him. The warmth between the two actors is a joy to watch.

After a forgettable debut in The Archies, Nanda shows much more promise playing Arun. He’s a competent guide through history, showing us a war that looks much like any other war. Young men raised on heroic stories are eager to make a name for themselves, even though many of them won’t survive to tell their own tales. One of Arun’s senior officers Risaldar Sagat Singh (Sikander Kher) warns Arun not to “go looking for death,” but Singh later repairs a tank tread with a fresh bullet wound to the shoulder. He makes heroism look easy, so of course it would appeal to Arun and his classmates.

That’s the trick with anti-war movies: they always end up showing the cool parts of war. Tanks are cool. Getting shot and acting like it’s no big deal is cool. Raghavan does his best not to glamorize war, but it’s ultimately up to the older characters like Khetarpal and Nisar to explain that war is bad for everyone.

Hindi films about cross-border relationships used to be far more common, which makes Ikkis not just unique but important. There’s truth in the film’s central idea that India and Pakistan are more alike than they are different. The first thing Arun and his tank crew remake upon when they roll across the border is that it looks the same as the land on the other side. Frequent reminders about our shared humanity are vital.

Links

[Disclaimer: my Amazon links include an affiliate tag, and I may earn a commission on purchases made via those links. Thanks for helping to support this website!]

Movie Review: Jab Khuli Kitaab (2024)

1.5 Stars (out of 4)

Watch Jab Khuli Kitaab on ZEE5

There’s something off about the structure of Jab Khuli Kitaab (“When the Book Opened‘). Actor and filmmaker Saurabh Shukla directs this movie version of his own play of the same name, but it doesn’t translate from stage to screen.

Gopal Nautiyal (Pankaj Kapur) has spent the last two years caring for his comatose wife Anusuya (Dimple Kapadia) in their house in picturesque Raniket, Uttarakhand. (Gorgeous scenery is the film’s best attribute). Their daughter and oldest son have returned home with their own families to say final goodbyes to Anusuya, who looks to be in her last days.

When the couple’s youngest son Dholu (Abuli Mamaji) — who has Down syndrome and lives with them — touches his mother’s face, she suddenly wakes. The family’s celebration is short-lived. Anusuya privately confesses to Gopal that their eldest son Param (Samir Soni) is the product of an affair. Gopal keeps the secret, but his bad mood rubs off on everyone.

Secretly, Gopal drives into town to find a lawyer. He’s waylaid by eager attorney RK Negi (Aparshakti Khurana), who is flummoxed by his new client. He can’t believe that Gopal wants to divorce his recently comatose wife for an affair she had fifty years ago.

I normally dislike when movies begin with a flashforward, but Gopal’s meeting with the lawyer is where Jab Khuli Kitaab should have started. The divorce is the film’s hook, so it makes sense to lead with it. Plus, Negi’s presence in the story would be more impactful as a framing device rather than just a guy who starts hanging around the family. His subplot about being in love with an unhappily married judge goes nowhere.

That’s the main issue with Jab Khuli Kitaab: it doesn’t have a destination in mind. Plotlines are unresolved, relationships are in flux, and the characters don’t seem to change or grow much through the course of the story.

It’s not to say that everything needs to be tidily wrapped up by the end, but the story just kind of floats there, directionless. The mix of tension and levity between and even within scenes is unbalanced. The film’s ending is abrupt and unsatisfying.

Given their experience and talent, Kapur and Kapadia create some compelling scenes together. Khurana’s comic relief character feels out of place, but that has more to do with story organization than his performance.

If the moral of the story is supposed to be “People are complicated,” well, yeah. That doesn’t make them interesting.

Links

Movie Review: Made in Korea (2026)

1 Star (out of 4)

Watch Made in Korea on Netflix

The Netflix Original Tamil movie Made in Korea is data-driven filmmaking at its worst. This fish-out-of-water story is an assemblage of scenes lacking a soul.

Shenba (Priyanka Mohan) lives in a small village in Tamil Nadu so remote that she has to stand on the back of an elephant to get a cell signal. She grew up fascinated with tales of an Indian woman who traveled to South Korea and became a queen (based on the legend of Heo Hwang-ok). Despite her love for all things Korean, visiting the country of her dreams seems impossible.

Other people have their own dreams for Shenba. Her father wants her to take over the small family restaurant. Her secret boyfriend Mani (Rishikanth) wants to marry her, but only after he sorts out his financial problems. When Shenba’s family finds a groom for her, she and Mani flee to the city.

Miraculously, Mani secures a job for Shenba at a hotel in Seoul, promising to find work there himself. When Mani fails to board the plane to Korea with her, Shenba learns a horrible truth: Mani bought Shenba’s plane ticket with money her father dropped off for her, and he headed to Mumbai alone with the rest of the cash.

Freshly heartbroken in a city where she knows no one, Shenba discovers her hotel job was a scam. A handsome stranger named Heo Jun-jae (Si-hun Baek) takes pity on her and finds her a job as a caretaker for a sick, elderly woman, Yeon-ok (Park Hye-jin).

Up to this point, sophomore writer-director Ra Karthik is pretty thorough about establishing Shenba’s relationships with the people in her life — particularly those back home, and even her connection with Jun-jae makes sense. But from this point forward, every relationship is speed-run in order to check scenes off a Korean travelogue shot list (perhaps mandated by Netflix itself). Why things happen the way they do with the people they do makes no sense.

Shenba quickly discovers that Yeon-ok is faking her illness as a way to punish her son and daughter-in-law, with whom she lives. Yeon-ok threatens to accuse Shenba of stealing if she reveals her secret, but then immediately decides the young woman is her best friend. She drags Shenba to touristy spots around the city with Jun-jae in tow to document everything. ‘Cause, sure.

Then the woman open a restaurant together, and Shenba organizes a “K-pop” band out of the only other people she’s spoken to in Korea. I’ve never seen an idol group with a violinist, but okay.

There are all kinds of tropey K-drama moments, like the women hiring a part-timer to help with the restaurant, or the band shooting a K-pop-style music video. All we’re missing is a kimchi slap.

The whole thing feels hollow. Made in Korea was clearly designed by Netflix to fulfill two missions: capitalize on the popularity of Korean content in India and fill out the streamer’s thin South Indian Originals catalogue. The movie does so, but in a perfunctory way.

This movie isn’t born out of an Indian filmmaker’s own love for Korean pop culture. Ra Karthik said, “Personally, I had never watched a K-drama or listened to K-pop until I began working on Made In Korea.” It shows. If you’re familiar with K-dramas, there are a ton of ways to tell a fish-out-of-water story that leans into Korean TV-narrative styles, while showing character growth and exploring shared cultural traditions.

Made in Korea doesn’t do that. It hits a couple of K-culture tropes, shows some Instagram-worthy tourist spots, and calls it a day. Characters become friends, fight, and make up because the plot demands it, not because they have any reason to do so. It just feels empty.

Links

Movie Review: Subedaar (2026)

3 Stars (out of 4)

Watch Subedaar on Amazon Prime

Filmmaker Suresh Triveni’s latest movie Subedaar is so tense it’s almost unbearable at times. In terms of achieving the intended tone, it’s an undeniable success. However, that single tone makes it hard to maintain the story momentum.

The first few moments of Subedaar are light-hearted misdirection. Elementary school boys Bablu and Mannu ponder how people in airplanes go to the bathroom and come up with a funny answer. But as the cheerful boys start to run between the heavy machinery dredging sand from the local river, the music becomes ominous. The boys jump in the water. Mannu doesn’t resurface.

He’s not the first kid to drown in the river as a result of industrial mismanagement. The dredgers are controlled by gangster Babli Didi (Mona Singh). She’s currently imprisoned awaiting trial for murder, but her shadow hangs over the town. Mannu’s uncle demands justice, so Babli Didi’s reckless half-brother, Prince (Aditya Rawal), kills him.

Arjun Maurya (Anil Kapoor) is new to this city governed by fear. He recently retired from the military, where he achieved the rank of Subedaar (a junior commissioned officer). His beloved wife just died, and he’s trying to form a relationship with his college-aged daughter Shyama (Radhika Madan). He hardly knows her because his career kept him away from home for most of her life.

The transition from highly organized military life to civilian chaos is unnerving for Arjun. He looks like he’s barely holding it together even while trying to do something ordinary, like closing his wife’s bank account. The frazzled bank clerk is so self-focused that he doesn’t register Arjun’s taut expression and the danger that lurks behind it.

The bank offers an early lesson in how the town operates. No one within the structures of power will help. They only protect themselves, particularly when Babli Didi and Prince are concerned. The mantra of the police chief is: “See very little, and forget everything.”

Prince is dangerous because he insists on controlling every interaction, enjoys humiliating people, and resorts to violence fast — and he never faces negative consequences for his brutal behavior. When Arjun refuses to be belittled by Prince and his cronies, it makes the former soldier a target. Arjun’s best friend Prabhakar (Saurabh Shukla) urges him to apologize and move on, but Arjun’s pride won’t allow him to do so.

At the same time, Shyama exposes one of her fellow students for his lewd behavior and is threatened with retaliation. She doesn’t tell her father about this, and he doesn’t tell her about Prince. When goons lurk outside the house at night or throw things at their home in the morning, father and daughter both assume they are the intended target. They’re both right, just at different times of day.

Though not always the main focus of the story, the relationship between Arjun and Shyama is the film’s most compelling. She has every reason to be angry with him, and he feels plenty of guilt mixed with his grief over his wife’s death (Khushbu Sundar plays Arjun’s wife Sudha in some sweet flashbacks). He’s doing the best he can to act like a parent to Shyama, but there’s no quick fix.

Troubled relationships between parents and children featured in Triveni’s two previous directorials as well: 2017’s Tumhari Sulu and 2022’s Jalsa. What makes the storylines work in each film is tremendous acting. Subedaar might be Triveni’s best yet, in that regard.

Kapoor is in top form as Arjun, trying to hold back the sea of emotions inside him. Madan shows us that Shyama’s hostility comes from a place of great pain. Both Kapoor and Madan are very good in their action scenes. Shukla’s Prabhakar says volumes with a single look, and Singh steals every scene she’s in.

Rawal is utterly loathsome as Prince, which is just what the role calls for. He’s particularly good at invading people’s personal space, because in his mind, it’s all his space. His presence is oppressive because we know there are no good guys coming to the rescue.

That said, a little goes a long way with Prince, especially since he doesn’t change or evolve. The only subplot to offset Prince’s lopsided feud with Arjun is Shyama’s own struggle against stronger opponents, so the experience of watching Subedaar becomes emotionally fatiguing over time. It’s a classic case where chopping twenty minutes from the runtime would actually make things more impactful.

Triveni is improving as a director with each movie. Subedaar is another step in the right direction, with clearer character motivations than in previous films. I’m happy to see it.

Links

[Disclaimer: my Amazon links include an affiliate tag, and I may earn a commission on purchases made via those links. Thanks for helping to support this website!]

Movie Review: Dhurandhar (2025)

Watch Dhurandhar on Netflix

Note: I’m forgoing giving Dhurandhar a star-rating as it feels too reductive for a problematic subject.

Dhurandhar is not subtle, which is a big part of its charm. Its action is thrilling. Its emotional tension is off the charts. All major characters have their own motivations that overlap through a tangled web of politics, tribal affiliations, organized crime, terrorism, and blood ties.

That lack of subtlety is also Dhurandhar‘s downfall, as the agenda behind the film glares on a bright red screen. This is more than just storytelling. It’s provocation.

A recurring criticism of writer-director Aditya Dhar’s work is that he uses real-life tragedies to stoke sectarian anger. It’s the main reason that the Netflix Original horror film he wrote — Baramulla — didn’t work for me. The other Netflix Original movie he wrote — the romantic caper Dhoom Dhaam — is a wildly fun romp with no ulterior motives.

Inspired by multiple real-life terrorist attacks and actual political figures in Pakistan, Dhurandhar posits a “what if” scenario: what if India sent a spy to Pakistan to dismantle the terrorist networks from within? Success would require many years, flawless secrecy, and lots of luck for said spy to be in a position right at the intersection of the various parties that enable terrorism to thrive within Pakistan.

That spy is Hamza Ali Mazari (Ranveer Singh). He makes his way to Karachi’s Lyari neighborhood, a hotbed of politics and organized crime with an outsized influence on the city at large. He bides his time working at a juice shop run by another Indian spy, Mohammad Aalam (Gaurav Gera).

Hamza gets the attention of gangster Rehman Dakait (Akshaye Khanna) when he tries to protect Dakait’s two sons from an assassination attempt. Though Dakait’s older son is slain, the gangster brings Hamza into his crew as a reward for saving his youngest. Again, Hamza bides his time to gains Dakait’s trust, but he’s where he needs to be for his mission to succeed.

Dhar does a masterful job connecting all the threads that create the web that supports terrorism in Pakistan. A gangster like Dakait has access to the weapons needed by the terror cells that are encouraged by Pakistan’s ISI spy agency. But Dakait also wants the legitimacy and power that comes from a political position, and local politics are driven by sects and ethnic groups. There are dozens of individuals and factions that need to be considered in every decision, and the consequences for angering the wrong people can be deadly.

The acting across the board is terrific. Singh’s Hamza is the perfect blend of smart and tough. Khanna’s gaunt Dakait moves through the world like a hungry animal. Sanjay Dutt’s disgraced police officer SP Chaudhary Aslam enters the story like a wrecking ball — yet another deadly force to account for.

To better understand how Dhurandhar veers into trouble, I looked at another film about a decade-long effort to hunt terrorists in Pakistan: the 2012 Hollywood film Zero Dark Thirty. (That movie is also problematic in the way it promotes torture as a legitimate method of intelligence gathering, which it’s not.) Director Kathryn Bigelow uses some of the same storytelling techniques as Dhar does, but to very different effect.

Zero Dark Thirty opens with a black screen emblazoned with “September 11, 2001” written in white letters. Audio plays of police radio chatter and emergency services calls from that morning. We hear people as they realize planes have crashed into the World Trade Center. A frightened woman inside one of the buildings asks an emergency dispatcher, “I’m going to die, aren’t I?” As horrible as the recordings are, they remind the audience of the fear and disbelief everyone in America experienced that morning — all in about 80 seconds.

Dhurandhar likewise opens with refreshers on two major terrorist attacks: the hijacking of IC 814 in 1999 and the attack on India’s Parliament in 2001. However, Dhar reenacts these events onscreen in gory detail. An Indian citizen aboard the hijacked plane is executed in front of India’s negotiator (Intelligence Bureau Director Ajay Sanyal, played by R. Madhavan), but the man’s throat isn’t just slit. It’s sawed at. After the terrorists attack Parliament, a dead security guard is wheeled by Sanyal, her vacant eyes seeming to stare at him imploringly. The two sequences take up the first twenty minutes of the film, before Hamza is even introduced.

In the second half of Dhurandhar, Dhar employs the same technique that Bigelow used to start her film. It follows a lengthy scene in which Dakait’s gang, some terrorists, and a Pakistani spy chief played by Arjun Rampal was the 26/11 attacks in Mumbai on TV. They cheer “Allahu Akbar!” as they watch news footage of the attacks. (Somehow, none of the terrorists notices Hamza crying during the scene.)

Even though the audience has just watched footage of 26/11 cheered by gleeful Muslim terrorists, Dhar stops the whole story to emphasize that the attack really happened. Black text on a blazing red background reads: “Actual Recordings Between Handlers, Terrorists & Hostages; 26th November 2008.” Approximately 80 seconds of audio recordings of communication between the terrorists are accompanied by onscreen transcription.

Even though Bigelow and Dhar use almost exactly the same amount of audio material, the gimmick stops Dhurandhar‘s story so abruptly that it feels like a cliffhanger ending to the film — but the movie still has another hour to go. The choice makes so little narrative sense that it all but confirms that telling a story isn’t the movie’s primary goal.

Links

Movie Review: Accused (2026)

2.5 Stars (out of 4)

Watch Accused on Netflix

Netflix’s latest Indian Original movie features a lesbian couple in crisis, and its LGBTQ theme makes Accused stand out among other Indian Originals. Unfortunately, a formulaic story treatment makes the film more novel than innovative.

Comparisons between Accused and Todd Field’s 2022 movie Tár are inevitable. Both focus on a queer woman in a position of power whose career and marriage are threatened by sexual harassment allegations. Accused shifts things by making the allegations more of a mystery than a sure thing and by devoting more time to the main character’s wife’s experience.

Dr. Geetika Sen (Konkona Sen Sharma), an ace surgeon and gynecologist at London’s Chapelstone General Hospital, is known as much for her her gruff manner as for her medical talents. She’s about to leave for a big promotion at another hospital in England. On top of that, she and her wife Meera (Pratibha Ranta) are adopting a baby.

While the couple seems happy together, there are a few signs of trouble early in the story. Geetika is routinely late to events, giving the excuse that she was in surgery and out of reach — and sometimes that’s true. Their move away puts Meera’s own pediatrics career on hold, which is important, given that there’s an age gap of at least 10 years between the couple (Sen Sharma is 21 years older than Ranta in real life). Geetika feels like her more established career takes precedence, even if it prevents Meera from making similar progress in hers.

Then there’s the fact that Meera’s family back in Meerut don’t even know she’s in love with a woman, let alone married to one. An attempt to introduce Geetika to Meera’s brother while he’s in town is scuttled when Geetika fails to show up for lunch.

In the midst of everything, Chapelstone Hospital receives an anonymous complaint from a patient alleging inappropriate sexual conduct by Geetika during an exam. Geetika insists she didn’t do anything wrong, but the hospital’s head of Human Resources, Simran (Monica Mahendru), is obligated to investigate, despite their friendship.

Rumors circulate, and soon there are more anonymous complaints, including one on a social media site. Racists and homophobes are happy to pile on the insults until the hospital can’t ignore it. Geetika is put on leave. Things only get worse from there.

The social media segment is one of the worst examples of Accused falling into contemporary Hindi filmmaking tropes. Images of social media comments float on the screen around Geetika, including one that reads, “Someone tag Netflix, the pilot episode just dropped.” The visual gimmick is tired enough even without the tacky self-referentialism.

Geetika becomes convinced that someone is framing her, and her paranoia only ramps up her tendencies toward secrecy. But that prompts Meera to wonder what else her wife is hiding. Add to that all the people who are happy to see Geetika brought down a peg — aggrieved colleagues, Meera’s infatuated co-worker Angad (Aditya Nanda) — and the doubt becomes more than the relationship can bear.

The lead actors do a really wonderful job. Sen Sharma is the ideal choice to play a character who can wither with a look while still being sympathetic. Ranta plays off her in a way that highlights the power imbalance and Meera’s growing discomfort with it.

Yet the film is so straightforward and surface level that it feels less substantial than it could have. Issues around queer identity in Indian culture are mentioned but not examined. Much of the dialogue around sexual harassment is taken from workplace conduct handbooks and feels divorced from lived experience. These big issues are convenient plot setups, but that’s it.

Accused even wraps with characters monologuing about the lessons they learned throughout — as if we, the audience, didn’t just watch them learning those lessons. It would’ve been nice if director Anubhuti Kashyap and writers Sima Agarwal & Yash Keshwani had more faith that an audience that would seek out such a story could handle a more robust examination of the issues it presents.

Links

Movie Review: Humans in the Loop (2024)

3.5 Stars (out of 4)

Watch Humans in the Loop on Netflix

Companies specializing in Artificial Intelligence (AI) would have consumers believe that their systems are fully autonomous programs that learn independently. The reality is that AI can’t identify or differentiate things unless someone tells them how. Those someones are tens of thousands of Indian workers whose job it is to identify and label the images and videos that AI trains on.

Journalist Karishma Mehrotra’s 2022 article “Human Touch” profiles several of the women who work as data labelers in the small Indian towns that provide much of the industry’s labor pool. Filmmaker Aranya Sahay adapted Mehrotra’s article into Humans in the Loop, a fiction film that focuses on one woman who finds a new direction in life working on AI training material. It’s equal parts family drama and a critical look at the foundations of a growing technology.

Nehma (Sonal Madhushankar) is starting over in her home village in Jharkhand. Her long-term, live-in relationship — an arrangement known as “Dhuku” — is over because her partner Ritesh (Vikas Gupta) wants to stay in the city and marry someone else. They have two kids together: tween daughter Dhaanu (Ridhima Singh) and baby son Guntu (Kaif Khan). The only way for Nehma to keep custody of the kids is to have a job to support them.

Nehma gets her chance working at a data labeling company in the town next door. Essentially, foreign corporations send the company collections of images and videos, the contents of those images and videos are labeled by operators, and that labeled content trains an AI program. The job is pretty mechanical — use a mouse to draw a box around all the cars in a photo of a traffic jam, for example — but it pays well enough.

The woman who runs the company, Alka (Gita Guha), explains the job to a cohort of new recruits (all of whom are women): “AI is like a child.” This resonates with Nehma. Baby Guntu is just starting to stand on his own, and she’s eager to show her city-raised daughter all the places and creatures she loved growing up in the forest. “Teaching” AI seems like a natural extension of what Nehma is doing at home.

Of course, AI isn’t a child, nor is Nehma the one to decide what to teach it. She notices that the faces she’s tagging in image sets from Western companies don’t include photos of women that look like her. She’s troubled by having to label some of the forest creatures she loves as “pests.”

[This is the nitpickiest thing I will ever write, but I’m gonna do it. Nehma believes that caterpillars are stewards who help plants thrive by eating rotten leaf parts, but some caterpillars can absolutely destroy plants. Looking at you, tomato hornworm!]

And of course, not every child is the same. After growing up in the city, Dhaanu got dropped into a new environment that has none of the comforts or technologies she grew up with. She struggles to get a signal on the cell phone her dad gave her to keep in contact. Tromping around the forest with her mom is not her idea of a good time, and she has no friends her age. Yet Nehma can’t understand why Dhaanu is unhappy.

While Humans in the Loop is most novel for its depiction of a facet of AI training few people know about, it works very well as a family drama, too. Nehma is an imperfect parent, and the tension lies in if or when she’ll figure that out. Dhaanu is at an age full of profound changes, and it’s up to her to learn how to navigate it. Guntu is there to be adorable.

Director Sahay is wise not to try to make the film bigger than it needs to be. It’s only 74 minutes long, and that feels right. She gets good performances from her cast, who all inhabit their characters nicely. The subject matter feels currently relevant but also timeless. This is filmmaking done right.

Links

Movie Review: Sister Midnight (2024)

4 Stars (out of 4)

Watch Sister Midnight on Hulu
Rent or buy Sister Midnight at Amazon

Debutant feature director Karan Kandhari brings delightfully weird sensibilities to the dark comedy Sister Midnight. He finds the perfect collaborator in Radhika Apte, who gives a wonderfully unhinged performance as an unhappy newlywed bride.

The movie opens with Uma (Apte) and her husband Gopal (Ashok Pathak) traveling by train from their arranged wedding to his tiny Mumbai apartment. Once there, he bolts out of the room when she tries to change clothes in front of him. She wakes up alone the next morning with no money or food, and he comes home drunk that night. Neither of them says a word until eight-and-a-half minutes into the film, when he tries to explain himself and she scolds him for neglecting her.

This is Uma’s life now, and she’s not suited to it at all. She doesn’t know how to cook, so she has nothing to do all day. She doesn’t know anyone in the city, so she wanders the neighborhood after dark in her nightgown.

One day, she takes a train to the end of the line intending to mope while looking at the sea. Embarrassed to be counted among the other mopey folks at the beach, she instead gets herself a job as a night janitor in an office building. It’s not glamorous and it’s a four-hour walk from home, but it’s something to do.

Things get a little better for Uma when she befriends her surly neighbor Sheetal (Chhaya Kadam), the night watchman at the office building, and a friendly group of hijra who hang out outside the building. But just as Uma makes connections, her health takes a turn. She’s pale and can’t keep food down. One fateful night, she figures out what’s ailing her.

The key to Sister Midnight’s success is in its delivery. Kandhari tells his story with an odd, snappy cadence, not just in how characters perform their lines but in how shots are connected. Something happens, the camera quickly pans to Apte making a face, then it quickly pans back to the thing that happened. The pace keeps the audience off balance and provides ample opportunities for funny surprises.

Apte’s sterling credentials have been established for years, but this is the best she’s ever been. She is an expert at physical comedy, whether it’s something dynamic like leaping into a bush to catch a bird or just making a strange face or adopting an awkward posture. Because Uma has no backstory, Apte has great latitude in defining the character via her performance, and she creates a hilarious antihero.

Some parts of Sister Midnight aren’t executed to technical perfection, but that actually works in the film’s favor. Computer generated animals move in wonky ways that almost evoke claymation, which makes them more charming somehow.

Even when the story slows down, Kandhari finds ways to surprise. Uma sits at a roadside diner, morose and out of ideas, when a black & white samurai movie comes on the TV and snaps her out of her despair. The film is not a classic samurai movie, but one that Kandhari filmed (in Scotland, of all places) specifically for this scene.

Propelling everything forward is a killer soundtrack, with songs from artists as diverse as Howlin’ Wolf, Iggy Pop, Buddy Holly, and Motörhead. Best of all are three songs by Cambodian singer Sinn Sisamouth, who was active from the 1950s-70s. If you’re unfamiliar with him, I’ll embed one of his songs below.

The wide-ranging soundtrack fits with a movie from a filmmaker who wants to delight and surprise his audience. Sister Midnight is an astounding feature debut.

Links

[Disclaimer: my Amazon links include an affiliate tag, and I may earn a commission on purchases made via those links. Thanks for helping to support this website!]